Unhandled Exception: System.IO.FileLoadException: Could not load file
or assembl y ‘TheLibrary, Version=1.2.3905.36284, Culture=neutral,
PublicKeyToken=14 04827c3a8f2601′ or one of its dependencies. The
application has failed to start because its side-by-side configuration
is incorrect. Please see the application event log for more detail.
(Exception from HRESULT: 0x800736B1) File name: ‘TheLibrary,
Version=1.2.3905.36284, Culture=neutral, PublicKe
yToken=1404827c3a8f2601′ —>
System.Runtime.InteropServices.COMException (0x800 736B1): The
application has failed to start because its side-by-side configurati
on is incorrect. Please see the application event log for more detail.
(Exceptio n from HRESULT: 0x800736B1)
When I look at the event log, I get this error.
Activation context generation failed for
“C:\project\Debug\MyLibrary.dll”. Dependent Assembly
Microsoft.VC90.DebugCRT,processorArchitecture=”x86″,publicKeyToken=”1fc8b3b9a1e18e3b”,type=”win32″,version=”9.0.21022.8″
could not be found. Please use sxstrace.exe for detailed diagnosis.
I used sxstrace to log the error and here is the result:
================= Begin Activation Context Generation. Input Parameter: Flags = 0 ProcessorArchitecture = x86 CultureFallBacks =
en-US;en ManifestPath = C:\Windows\system32\cmd.exe
AssemblyDirectory = C:\Windows\system32\ Application Config File =
—————– INFO: Parsing Manifest File C:\Windows\system32\cmd.exe. INFO: Manifest Definition Identity is
Microsoft.Windows.FileSystem.CMD,processorArchitecture=”x86″,type=”win32″,version=”5.1.0.0″.
INFO: Activation Context generation succeeded. End Activation Context
Generation.================= Begin Activation Context Generation. Input Parameter: Flags = 0 ProcessorArchitecture = x86 CultureFallBacks =
en-US;en ManifestPath = C:\Debug\TheLibrary.dll AssemblyDirectory =
C:\Debug\ Application Config File =
—————– INFO: Parsing Manifest File C:\Debug\TheLibrary.dll. INFO: Manifest Definition Identity is (null). INFO: Reference:
Microsoft.VC90.DebugCRT,processorArchitecture=”x86″,publicKeyToken=”1fc8b3b9a1e18e3b”,type=”win32″,version=”9.0.21022.8″
INFO: Resolving reference
Microsoft.VC90.DebugCRT,processorArchitecture=”x86″,publicKeyToken=”1fc8b3b9a1e18e3b”,type=”win32″,version=”9.0.21022.8″.
INFO: Resolving reference for ProcessorArchitecture x86. INFO:
Resolving reference for culture Neutral. INFO: Applying Binding
Policy.
INFO: No publisher policy found.
INFO: No binding policy redirect found. INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC90.DebugCRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\Debug\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\Debug\Microsoft.VC90.DebugCRT.MANIFEST.
INFO: Attempt to probe manifest at C:\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST.
INFO: Did not find manifest for culture Neutral. INFO: End assembly probing. ERROR: Cannot resolve reference
Microsoft.VC90.DebugCRT,processorArchitecture=”x86″,publicKeyToken=”1fc8b3b9a1e18e3b”,type=”win32″,version=”9.0.21022.8″.
ERROR: Activation Context generation failed. End Activation Context
Generation.
Cannot resolve reference Microsoft.VC90.DebugCRT,processorArchitecture=...
Any ideas?
Yes, that can only be found on a machine that has Visual Studio installed. The DebugCRT is not distributable. And it doesn’t make sense to write C or C++ code and deploy the debug build for it, it is a lot slower.
Deploy the Release build version of your DLL. And the VC++ Libraries, one of the check boxes in the Prerequisites of a Setup project.