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?
We've just had this exact same error but the cause was so misleading compared to the error it's hopefully worth adding here as it comes top on google...
The "The application has failed to start because its side-by-side configuration is incorrect" error was occurring when starting a windows service. In our instance this was caused by the services application.config xml file not being valid - someone had edited it manually and pasted in an extra closing tag. Amending this resolved the "not related in any way whatsoever" error message.
The quickest way to check this would be to paste the xml file into one of the many on-line xml validators free on the web.
Dependent Assembly Microsoft.VC90.DebugCRT,... could not be found
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.
This is marked C#, so I'll give the C# answer: Something has mangled your projectname.exe.config file.
Pull it up in a text editor and chances are something won't be closed properly or there will be a few garbage characters at the end. You can figure out why that happened later. But for now, just fix it and you'll be able to launch.
You can just delete the manifest file from your application path, then the executable will work properly,
For real checking if you are using Windows 7 (must be same for 8 and Vista)
Open from control panel system Administrative tool and select event viewer
Click windows logs-> Application
Find your error log under the column side-by-side
Note the line number where the error occurs.
Then with a editor such write or notepad open yourfilename.exe.manifest
Then from line number </ to />
delete the lines and save the file
Your problem is resolved.
I wanted to pin-point one more reason why this error could arise: wrong encoding of *.config
file.
The file needs to be in UTF-8
, while you can actually get ANSI
accidentally nowadays by creating configuration file manually using notepad.exe
.
I found side by side error there is a mismatched or system error in app.config file. find bug in your app.config file correct it.
I had this issue and it was a simple problem with the version
value in assemblyIdentity
element of the app.manifest file. Apparently version
must have all four numbers (unless assemblyIdentity
is ignored which is the case if the manifest is embedded).
So the fix here:
<assemblyIdentity name="MyApplication" version="1.0.1" publicKeyToken="D3567E058552E2DF" type="win32" processorArchitecture="x86" />
is to set
version="1.0.1.0"
After that, everything was hunky-dory.
Make sure that you don't have misplaced configurations, like an <httpsTransport>
within an http web service binding.
User contributions licensed under CC BY-SA 3.0