Assemblies in GAC

Hi all,

we need to figure out which version of a dll in the GAC our application is using and I hope someone here can give me at least a hint. Here is the situation:

We have several VB.NET assemblies in the GAC and there are several versions of each of these dll's in the GAC. After a recent server rebuild, we found that we have no idea which applications need which version of the dll's. I can recreate the different versions for each dll from version control, since the dlls are small and there is a good version history in the assembly.info files. But the applications that use these dlls do not indicate which version they are looking for. They just show the reference to the dll as part of the Visual Studio project.

Is there some way I can find out which version of a dll an application is looking for I can not find anything about that in Visual Studio, i.e. the project references do not show a version. Is there maybe a tool that can read the .exe file and extract the dll version I just hate the idea of keeping 8 version of a dll in the GAC, if only one or two are actually being used.

TIA




Answer this question

Assemblies in GAC

  • dee-u

    The best I can think of would be to examine your project files - look at HintPath for each reference. From that, locate your assemblies and examine the versions. Then, cross-reference that with what's listed in the GAC.
  • Universal Soldier 2005

    That is exactly what I need.

    I haven't actually run it on the application yet, but I am sure I can get what I need now. So I'll mark this as answered and say Thanks a bunch!

    Have a great weekend

    URW



  • Cindy Brucato

    Try ildasm and look at the manifest, which lists external assemblies (-w- version / public key)
  • Brandon Paddock MSFT

    Unfortunately the hint path is empty. Like I said, I could not find any indication in the application project files that told me about the dll versions.

    Thanks for the reply though.



  • Assemblies in GAC