Assembly fails to load
-
I have an assembly in the GAC, but I cannot load it. I get the following error:
An unhandled exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
Additional information: File or assembly name Microsoft.ApplicationBlocks.Logging.EventSinks, or one of its dependencies, was not found.
That is all the information I have. The assembly is in the GAC, so it must be one of its dependencies that is missing, but I cannot figure out which. Here is the MANIFEST content from ildasm:
.assembly extern Microsoft.EnterpriseInstrumentation
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 7:0:5000:0
}
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern System
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern System.Xml
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern System.Data
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern mscorlib as mscorlib_5
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:3300:0
}
.assembly extern Microsoft.ApplicationBlocks.Logging.Schema
{
.publickeytoken = (64 F1 8B 94 EB E8 62 97 ) // d.....b.
.ver 1:0:0:0
}
.assembly extern System as System_7
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:3300:0
}
.assembly extern System.Messaging
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 1:0:5000:0
}
.assembly extern System.Management
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 1:0:5000:0
}
.assembly Microsoft.ApplicationBlocks.Logging.EventSinks
{
.custom instance void [mscorlib]System.Reflection.AssemblyDelaySignAttribute::.ctor(bool) = ( 01 00 00 00 00 )
// --- The following custom attribute is added automatically, do not uncomment -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 01 01 00 00 )
.custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(str -
I have an assembly in the GAC, but I cannot load it. I get the following error:
An unhandled exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
Additional information: File or assembly name Microsoft.ApplicationBlocks.Logging.EventSinks, or one of its dependencies, was not found.
That is all the information I have. The assembly is in the GAC, so it must be one of its dependencies that is missing, but I cannot figure out which. Here is the MANIFEST content from ildasm:
.assembly extern Microsoft.EnterpriseInstrumentation
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 7:0:5000:0
}
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern System
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern System.Xml
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern System.Data
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern mscorlib as mscorlib_5
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:3300:0
}
.assembly extern Microsoft.ApplicationBlocks.Logging.Schema
{
.publickeytoken = (64 F1 8B 94 EB E8 62 97 ) // d.....b.
.ver 1:0:0:0
}
.assembly extern System as System_7
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:3300:0
}
.assembly extern System.Messaging
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 1:0:5000:0
}
.assembly extern System.Management
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 1:0:5000:0
}
.assembly Microsoft.ApplicationBlocks.Logging.EventSinks
{
.custom instance void [mscorlib]System.Reflection.AssemblyDelaySignAttribute::.ctor(bool) = ( 01 00 00 00 00 )
// --- The following custom attribute is added automatically, do not uncomment -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 01 01 00 00 )
.custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(strLook for each assembly referenced at the top of your MANIFEST and make sure that it exists in the GAC and that the version is the same. For the Microsoft assemblies, open each one in ildasm.exe and make sure their dependencies are there. Basically, just make sure that the libraries are installed correctly. Also, I noticed that your assembly reference both the .NET 1.0 and 1.1 versions of mscorlib.dll. While unusual, it obviously compiled but you must make sure that both .NET 1.0 and 1.1 are installed on the client machine (assuming this is on a different machine than what you compiled on).
-----BEGIN GEEK CODE BLOCK----- Version: 3.21 GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++ -----END GEEK CODE BLOCK-----
-
I have an assembly in the GAC, but I cannot load it. I get the following error:
An unhandled exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
Additional information: File or assembly name Microsoft.ApplicationBlocks.Logging.EventSinks, or one of its dependencies, was not found.
That is all the information I have. The assembly is in the GAC, so it must be one of its dependencies that is missing, but I cannot figure out which. Here is the MANIFEST content from ildasm:
.assembly extern Microsoft.EnterpriseInstrumentation
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 7:0:5000:0
}
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern System
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern System.Xml
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern System.Data
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:5000:0
}
.assembly extern mscorlib as mscorlib_5
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:3300:0
}
.assembly extern Microsoft.ApplicationBlocks.Logging.Schema
{
.publickeytoken = (64 F1 8B 94 EB E8 62 97 ) // d.....b.
.ver 1:0:0:0
}
.assembly extern System as System_7
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:3300:0
}
.assembly extern System.Messaging
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 1:0:5000:0
}
.assembly extern System.Management
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 1:0:5000:0
}
.assembly Microsoft.ApplicationBlocks.Logging.EventSinks
{
.custom instance void [mscorlib]System.Reflection.AssemblyDelaySignAttribute::.ctor(bool) = ( 01 00 00 00 00 )
// --- The following custom attribute is added automatically, do not uncomment -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 01 01 00 00 )
.custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(strIf you run fuslogvw, you can see what fusion is doing when it's trying to load your assembly. That usually helps me.