问题描述
未处理的异常:System.IO.FileLoadException:无法加载文件或组装 'TheLibrary, Version=1.2.3905.36284, Culture=neutral,PublicKeyToken=14 04827c3a8f2601' 或其依赖项之一.该应用程序无法启动,因为它的并排配置不正确.请参阅应用程序事件日志了解更多详细信息.(HRESULT 例外:0x800736B1)文件名:'TheLibrary,版本=1.2.3905.36284,文化=中性,PublicKeyToken=1404827c3a8f2601' --->System.Runtime.InteropServices.COMException (0x800 736B1):应用程序无法启动,因为它的并排配置on 不正确.请参阅应用程序事件日志以获取更多详细信息.(HRESULT 的异常:0x800736B1)
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.
激活上下文生成失败C:projectDebugMyLibrary.dll".从属程序集Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"找不到.详细诊断请使用sxstrace.exe.
Activation context generation failed for "C:projectDebugMyLibrary.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.
我使用 sxstrace
记录错误,结果如下:
I used sxstrace
to log the error and here is the result:
================= 开始生成激活上下文.输入参数:Flags = 0 ProcessorArchitecture = x86 CultureFallBacks =en-US;en ManifestPath = C:Windowssystem32cmd.exeAssemblyDirectory = C:Windowssystem32 应用程序配置文件 =----------------- 信息:解析清单文件 C:Windowssystem32cmd.exe.信息:清单定义身份是Microsoft.Windows.FileSystem.CMD,processorArchitecture="x86",type="win32",version="5.1.0.0".信息:激活上下文生成成功.结束激活上下文一代.
================= Begin Activation Context Generation. Input Parameter: Flags = 0 ProcessorArchitecture = x86 CultureFallBacks = en-US;en ManifestPath = C:Windowssystem32cmd.exe AssemblyDirectory = C:Windowssystem32 Application Config File = ----------------- INFO: Parsing Manifest File C:Windowssystem32cmd.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.
================= 开始生成激活上下文.输入参数:Flags = 0 ProcessorArchitecture = x86 CultureFallBacks =en-US;en ManifestPath = C:DebugTheLibrary.dll AssemblyDirectory =C:Debug 应用程序配置文件 =----------------- 信息:解析清单文件 C:DebugTheLibrary.dll.信息:清单定义标识为(空).信息:参考:Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"INFO:解析参考Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8".信息:正在解析 ProcessorArchitecture x86 的参考.信息:解决文化中性的参考.信息:应用绑定政策.信息:未找到发布者政策.信息:未找到绑定策略重定向.信息:开始装配探测.信息:未在 WinSxS 中找到程序集.信息:尝试在 C:WindowsassemblyGAC_32Microsoft.VC90.DebugCRT9.0.21022.8__1fc8b3b9a1e18e3bMicrosoft.VC90.DebugCRT.DLL 处探测清单.信息:尝试在 C:DebugMicrosoft.VC90.DebugCRT.DLL 处探测清单.信息:尝试在 C:DebugMicrosoft.VC90.DebugCRT.MANIFEST 探测清单.信息:尝试在 C:DebugMicrosoft.VC90.DebugCRTMicrosoft.VC90.DebugCRT.DLL 处探测清单.信息:尝试在 C:DebugMicrosoft.VC90.DebugCRTMicrosoft.VC90.DebugCRT.MANIFEST 探测清单.信息:未找到文化中性的清单.信息:末端装配探测.错误:无法解析参考Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8".错误:激活上下文生成失败.结束激活上下文一代.
================= Begin Activation Context Generation. Input Parameter: Flags = 0 ProcessorArchitecture = x86 CultureFallBacks = en-US;en ManifestPath = C:DebugTheLibrary.dll AssemblyDirectory = C:Debug Application Config File = ----------------- INFO: Parsing Manifest File C:DebugTheLibrary.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:WindowsassemblyGAC_32Microsoft.VC90.DebugCRT9.0.21022.8__1fc8b3b9a1e18e3bMicrosoft.VC90.DebugCRT.DLL. INFO: Attempt to probe manifest at C:DebugMicrosoft.VC90.DebugCRT.DLL. INFO: Attempt to probe manifest at C:DebugMicrosoft.VC90.DebugCRT.MANIFEST. INFO: Attempt to probe manifest at C:DebugMicrosoft.VC90.DebugCRTMicrosoft.VC90.DebugCRT.DLL. INFO: Attempt to probe manifest at C:DebugMicrosoft.VC90.DebugCRTMicrosoft.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.
无法解析参考Microsoft.VC90.DebugCRT,processorArchitecture=...
有什么想法吗?
推荐答案
无法找到依赖程序集 Microsoft.VC90.DebugCRT,...
Dependent Assembly Microsoft.VC90.DebugCRT,... could not be found
是的,只能在安装了 Visual Studio 的计算机上找到.DebugCRT 不可分发.而且编写 C 或 C++ 代码并为其部署调试版本是没有意义的,它会慢很多.
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.
部署您的 DLL 的发布版本.还有 VC++ 库,安装项目的先决条件中的复选框之一.
Deploy the Release build version of your DLL. And the VC++ Libraries, one of the check boxes in the Prerequisites of a Setup project.
这篇关于应用程序无法启动,因为它的并排配置不正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!