The assembly is not in the GAC, but gacutil shows it there

I have noticed strange behavior in my system regarding the global build cache (GAC). I'm interested in the build log4net Version = 1.2.11.0

The output of gacutil /l "log4net" :

C: \ Windows \ system32> gacutil / l "log4net" Microsoft (R) .NET Global Assembly caching utility. Version 4.0.30319.1 Copyright (c) Microsoft Corporation. All rights reserved.

The global assembly cache contains the following assemblies:
log4net, Version = 1.2.10.0, Culture = Neutral, PublicKeyToken = 1b44e1d426115821, processorArchitecture = MSIL
log4net, Version = 1.2.11.0, Culture = neutral, PublicKeyToken = 669e0ddf0bb1aa2a, processorArchitecture = MSIL

Number of Elements = 2

However, viewing the GAC through the shell of the conductor (before and after the restart) shows only one version:

enter image description here

This is compounded by the fact that my application cannot allow the assembly, but works fine when I put it in the application database (bin folder). In accordance with this article, the GAC will be checked before the application base - which indicates that the assembly is not in the PAC.

So, log4net Version=1.2.11.0 in the GAC? If so, why can't my application find it?

+4
source share
1 answer

You look in the .NET 2.0 GAC, however log4net v1.2.11.0 is an assembly of .NET 4..NET 4 has its own GAC, which is located in %winddir%\Microsoft.NET\Assembly . Check the GAC_MSIL directory there, and I bet you will find it.

+6
source

All Articles