应用程序无法启动,因为它的并排配置不正确

Dar*_*der 20 .net c# configuration dependencies

未处理的异常:System.IO.FileLoadException:无法加载文件或组合' TheLibrary,Version = 1.2.3905.36284,Culture = neutral,PublicKeyToken = 14 04827c3a8f2601'或其依赖项之一.应用程序无法启动,因为它的并排配置不正确.有关详细信息,请参阅应用程序事件日志.(来自HRESULT的异常:0x800736B1)文件名:' TheLibrary,Version = 1.2.3905.36284,Culture = neutral,PublicKe yToken = 1404827c3a8f2601'---> System.Runtime.InteropServices.COMException(0x800 736B1):应用程序无法启动因为它的并排配置是不正确的.有关详细信息,请参阅应用程序事件日志.(来自HRESULT的例外:0x800736B1)

当我查看事件日志时,我收到此错误.

"C:\ project\Debug\MyLibrary.dll"的激活上下文生成失败.无法找到依赖程序集Microsoft.VC90.DebugCRT,processorArchitecture ="x86",publicKeyToken ="1fc8b3b9a1e18e3b",type ="win32",version ="9.0.21022.8".请使用sxstrace.exe进行详细诊断.

我使用sxstrace来记录错误,结果如下:

=================开始激活上下文生成.输入参数:Flags = 0 ProcessorArchitecture = x86 CultureFallBacks = zh-CN; zh_cn 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".信息:激活上下文生成成功.结束激活上下文生成.

=================开始激活上下文生成.输入参数:Flags = 0 ProcessorArchitecture = x86 CultureFallBacks = en-US; zh 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"INFO:解析参考Microsoft.VC90.DebugCRT,processorArchitecture ="x86"公钥= "1fc8b3b9a1e18e3b",类型= "Win32的",版本= "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 = ...

有任何想法吗?

Fet*_*che 20

我们刚刚有这个完全相同的错误,但原因是如此误导,相比之下错误,它有望值得添加到这里,因为它在谷歌的顶部...

启动Windows服务时出现"应用程序无法启动,因为其并行配置不正确"错误.在我们的实例中,这是由服务application.config xml文件无效引起的 - 有人手动编辑它并粘贴在额外的结束标记中.修改此解决了"不以任何方式相关"的错误消息.

检查此问题的最快方法是将xml文件粘贴到Web上免费的许多在线xml验证器中.

  • 如果不是这个,我永远不会想到查看配置文件。显然我有一个不正确的双“<<add key=...” (4认同)
  • 你是一个救星。这正是我们案例中的问题所在。 (3认同)
  • 这也是我的情况:无效的 app.config 文件 (3认同)
  • 这个错误今天也发生在我身上。对于正在运行的基于 .NET 的 Windows 服务来说,这是一个无效的 exe.config 文件。具体来说,其中一个设置(密码)中有一个 & 符号,从技术上讲,它是无效的 XML,因此必须使用“&”进行转义。我发现这个问题是因为 Windows 事件日志实际上指出配置文件的格式不正确并指向行号。我一看到&我就捂脸了。 (3认同)

Han*_*ant 17

无法找到依赖程序集Microsoft.VC90.DebugCRT,....

是的,只能在安装了Visual Studio的计算机上找到.DebugCRT不可分发.它没有意义编写C或C++代码,并为其部署调试版本,这是一个很大较慢.

部署DLL的Release版本.以及VC++库,它是安装项目先决条件中的复选框之一.


小智 6

您只需从应用程序路径中删除清单文件,然后可执行文件就可以正常工作,

  • 就我而言,我的清单文件中有一个错误,我编辑了它并解决了我的问题,感谢您的提示。 (2认同)

Jas*_*ter 5

这被标记为C#,因此我将给出C#答案:某些东西破坏了您的projectname.exe.config文件。

在文本编辑器中将其拉起,可能会导致无法正确关闭某些内容或在末尾出现一些垃圾字符。您可以找出原因,稍后再进行。但是现在,只需对其进行修复,即可启动。