The application has failed to start because its side-by-side configuration is incorrect

匿名 (未验证) 提交于 2019-12-03 02:06:01

问题:

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?

回答1:

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.



回答2:

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.



回答3:

You can just delete the manifest file from your application path, then the executable will work properly,



回答4:

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.



回答5:

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.



回答6:

Make sure that you don't have misplaced configurations, like an within an http web service binding.



回答7:

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:

is to set

version="1.0.1.0" 

After that, everything was hunky-dory.



回答8:

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.



回答9:

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.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!