none
Upgrading third party assemblies RRS feed

  • Question

  • I have a solution that I am attempting to update third party assemblies for. The assemblies in question are Telerik assemblies. When I installed the newer version of Telerik, it installed an addin within Visual Studio that has an upgrade wizard.  After running this upgrade wizard, it had found all of my projects that referenced the old DLLs and changed them to the new DLL path and version. It had also modified the web.config file's handler section to reflect the new version.  There are no problems building the solution, but when I open the web site in IIS Express and navigate to a page that generates a report, IIS throws an error indicating that the application is looking for the previous version of the assembly. I've attempted the following, each followed by a clean/rebuild but the same error continues to show up.

    -attempted to use a binding redirect in web.config

    -manually removed/re-added each reference then set the 'specific version' flag for the new version

    -unloaded and re-loaded each project.

    - deleted all temporary ASP.net files

    -in a CLI, did a findstr on the entire solution searching for the old version/there is no file in the entire solution that mentions the old version, but the compiled application continues to reference the old version.

    I have found a number of forums where a similar situation has been described, but I haven't found any solutions.  Aside from the vb/csproj files and the web.config, what causes an application to reference a specific version of an assembly?  Thanks for any help.


    KJ Dietrich Web Developer


    Friday, June 26, 2015 8:30 PM

Answers

  • So I'm not exactly satisfied with this work around, but I moved my binding redirect from the web.config to aspnet.config (in IIS Express on this machine) and everything started working with the new libraries--probably some IIS Express allow/deny config setting that I'm not going to dig in to.   I'm still at a loss as to why the application will not stop referencing the old version.  I haven't gotten this far yet, but there are standalone executables that use these projects as well and I can only hope that they will reference the new versions correctly. 

    -KJ


    KJ Dietrich Web Developer

    Monday, June 29, 2015 8:16 PM

All replies

  • Hello KJ Dietrichs,

    >>Aside from the vb/csproj files and the web.config, what causes an application to reference a specific version of an assembly?

    It could be that your project metadata still reference the old version third assembly, you could use ildasm.exe tool to open your project dll/exe  and use “Ctrl+M” to see its detail referenced assemblies information(this may be not the caused resson since i notice you already manually removed/re-added each reference then set the 'specific version' flag for the new version, anyway, you could try it). If the metadata shows that it already reference to a new assembly, an approach to narrowing down this issue, please try to deploy your project to a localhost IIS which is built in the VS.

    If the localhost IIS works for your application, I think the request assembly information may be cached by the IIS server, you could ask it on IIS forum: https://forums.iis.net/ to confirm if this is true and whether there is a workaround for this scenario.

    Regards.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Monday, June 29, 2015 5:30 AM
    Moderator
  • Fred,

    Thanks for the recommendation.  It is failing while I am attempting to use it in IIS Express directly on my dev machine. When I ildasm the specific assembly that I am trying, I find this reference:


    AssemblyRef #7 (23000007)
    -------------------------------------------------------
     Token: 0x23000007
     Public Key or Token: a9 d7 98 3d fc c2 61 be
     Name: Telerik.Reporting
     Version: 9.0.15.422
     Major Version: 0x00000009
     Minor Version: 0x00000000
     Build Number: 0x0000000f
     Revision Number: 0x000001a6
     Locale: <null>
     HashValue Blob:
     Flags: [none] (00000000)

    It is referencing the correct/new version.  Problem still exists.  Thanks for any additional recommendations.


    KJ Dietrich Web Developer

    Monday, June 29, 2015 6:29 PM
  • So I'm not exactly satisfied with this work around, but I moved my binding redirect from the web.config to aspnet.config (in IIS Express on this machine) and everything started working with the new libraries--probably some IIS Express allow/deny config setting that I'm not going to dig in to.   I'm still at a loss as to why the application will not stop referencing the old version.  I haven't gotten this far yet, but there are standalone executables that use these projects as well and I can only hope that they will reference the new versions correctly. 

    -KJ


    KJ Dietrich Web Developer

    Monday, June 29, 2015 8:16 PM
  • Hello,

    >>but I moved my binding redirect from the web.config to aspnet.config (in IIS Express on this machine)

    From your metadata and your config file scenario, i am wondering the reference information is be cached in the IIS(may be in the aspnet.config) or it is what you think “probably some IIS Express allow/deny config setting that I'm not going to dig in to.” As i mentioned above, you could ask it on IIS forum: https://forums.iis.net/ to confirm if this is true.

    Anyway, it is glad to hear that you get a workaround.

    Regards.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Tuesday, June 30, 2015 5:47 AM
    Moderator