未处理的异常:System.IO.FileLoadException:无法加载文件或组件 y' TheLibrary ,Version = 1.2.3905.36284,Culture = neutral,PublicKeyToken = 14 04827c3a8f2601'或其中一个依赖项。 应用程序无法启动 因为它的并排配置不正确。请参阅申请表 事件日志了解更多详情。 (HRESULT异常:0x800736B1) 文件名:' TheLibrary ,版本= 1.2.3905.36284,文化=中立,PublicKe yToken = 1404827c3a8f2601'---> System.Runtime.InteropServices.COMException(0x800 736B1):应用程序无法启动,因为它的并排配置 是不正确的。有关详细信息,请参阅应用程序事件日志。 (抗辩 n来自HRESULT:0x800736B1)
当我查看事件日志时,我收到此错误。
“C:\ project \ Debug \ MyLibrary.dll”的激活上下文生成失败。无法找到依赖程序集Microsoft.VC90.DebugCRT,processorArchitecture =“x86”,publicKeyToken =“1fc8b3b9a1e18e3b”,type =“win32”,version =“9.0.21022.8”。请使用sxstrace.exe进行详细诊断。
我使用sxstrace记录错误,结果如下:
================= 开始激活上下文生成。 输入参数: 标志= 0 ProcessorArchitecture = x86 CultureFallBacks = en-US; en ManifestPath = C:\ Windows \ system32 \ cmd.exe AssemblyDirectory = C:\ Windows \ system32 \
信息:解析清单文件C:\ Windows \ system32 \ cmd.exe。 INFO:Manifest Definition Identity是Microsoft.Windows.FileSystem.CMD,processorArchitecture =“x86”,type =“win32”,version =“5.1.0.0”。 信息:激活上下文生成成功。 结束激活上下文生成。
================= 开始激活上下文生成。 输入参数: 标志= 0 ProcessorArchitecture = x86 CultureFallBacks = en-US; en ManifestPath = C:\ Debug \ TheLibrary.dll AssemblyDirectory = C:\ Debug \
信息:解析清单文件C:\ Debug \ TheLibrary.dll。 信息:清单定义标识是(null)。 信息:参考:Microsoft.VC90.DebugCRT,processorArchitecture =“x86”,publicKeyToken =“1fc8b3b9a1e18e3b”,type =“win32”,version =“9.0.21022.8” 信息:解析参考Microsoft.VC90.DebugCRT,processorArchitecture =“x86”,publicKeyToken =“1fc8b3b9a1e18e3b”,type =“win32”,version =“9.0.21022.8”。 信息:解析ProcessorArchitecture x86的参考。 信息:解决文化中立的参考。 信息:应用绑定策略。 信息:未找到发布者政策。 信息:找不到绑定策略重定向。 信息:开始装配探测。 信息:没有在WinSxS中找到程序集。 信息:尝试在C:\ Windows \ assembly \ GAC_32 \ Microsoft.VC90.DebugCRT \ 9.0.21022.8__1fc8b3b9a1e18e3b \ Microsoft.VC90.DebugCRT.DLL中探测清单。 信息:尝试在C:\ Debug \ Microsoft.VC90.DebugCRT.DLL中探测清单。 信息:尝试在C:\ Debug \ Microsoft.VC90.DebugCRT.MANIFEST探测清单。 信息:尝试在C:\ Debug \ Microsoft.VC90.DebugCRT \ Microsoft.VC90.DebugCRT.DLL中探测清单。 信息:尝试在C:\ Debug \ Microsoft.VC90.DebugCRT \ Microsoft.VC90.DebugCRT.MANIFEST探测清单。 信息:没有找到文化中立的清单。 信息:结束装配探测。 错误:无法解析参考Microsoft.VC90.DebugCRT,processorArchitecture =“x86”,publicKeyToken =“1fc8b3b9a1e18e3b”,type =“win32”,version =“9.0.21022.8”。 错误:激活上下文生成失败。 结束激活上下文生成。
无法解析参考Microsoft.VC90.DebugCRT,processorArchitecture = ...
任何想法?
答案 0 :(得分:19)
我们刚刚遇到了同样的错误,但原因是错误的,相比之下错误值得加入,因为它在Google上排名第一...
"应用程序无法启动,因为它的并排配置不正确" 启动Windows服务时发生错误。在我们的实例中,这是由服务application.config xml文件无效引起的 - 有人手动编辑它并粘贴在额外的结束标记中。修改这个解决了"没有任何关系"错误信息。
检查此问题的最快方法是将xml文件粘贴到网络上免费提供的许多在线xml验证器中。
答案 1 :(得分:17)
无法找到依赖程序集Microsoft.VC90.DebugCRT,...
是的,只能在安装了Visual Studio的计算机上找到。 DebugCRT不可分发。编写C或C ++代码并为其部署调试版本没有意义,它是 lot 更慢。
部署DLL的Release版本。以及VC ++库,它是安装项目先决条件中的复选框之一。
答案 2 :(得分:4)
您只需从应用程序路径中删除清单文件,然后可执行文件即可正常运行,
答案 3 :(得分:4)
这是标记为C#,因此我将给出C#答案:某些东西已经破坏了你的projectname.exe.config文件。
在文本编辑器中将其拉出来,很有可能无法正常关闭或者最后会有一些垃圾字符。你可以弄清楚为什么会发生这种情况。但就目前而言,只需修复它,您就可以启动了。
答案 4 :(得分:3)
要真实检查您是否使用Windows 7(对于8和Vista必须相同)
从控制面板系统打开管理工具并选择事件查看器
点击Windows日志 - >应用
在并排的列下找到您的错误日志
请注意发生错误的行号。
然后使用编辑器如写或记事本打开yourfilename.exe.manifest
然后从行号</ to />
删除行并保存文件
您的问题已解决。
答案 5 :(得分:2)
我发现并排错误,app.config文件中存在不匹配或系统错误。找到你的app.config文件中的错误。
答案 6 :(得分:1)
我想再次指出可能出现此错误的另一个原因:*.config
文件的编码错误。
该文件必须位于UTF-8
,而您现在可以通过使用ANSI
手动创建配置文件来意外获取notepad.exe
。
答案 7 :(得分:0)
确保您没有错误配置,例如http网络服务绑定中的<httpsTransport>
。
答案 8 :(得分:0)
我遇到了这个问题,这是app.manifest文件的version
元素中assemblyIdentity
值的一个简单问题。显然version
必须包含所有四个数字(除非忽略assemblyIdentity
,否则嵌入清单就是这种情况。)
所以修复此处:
<assemblyIdentity name="MyApplication" version="1.0.1" publicKeyToken="D3567E058552E2DF" type="win32" processorArchitecture="x86" />
是设置
version="1.0.1.0"
在那之后,一切都很笨拙。