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

未处理的exception:System.IO.FileLoadException:无法加载文件或汇编TheLibrary ,Version = 1.2.3905.36284,Culture = neutral,PublicKeyToken = 14 04827c3a8f2601’或其依赖项之一。 应用程序无法启动,因为它的并排配置不正确。 有关详细信息,请参阅应用程序事件日志。 (来自HRESULT的exception: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的参考。 信息:解决文化中立的参考。 信息:应用绑定策略。 信息:未找到发布者政策。 信息:找不到绑定策略重定向。 信息:开始assembly探测。 信息:没有在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中探测清单。 信息:没有找到文化中立的清单。 信息:结束assembly探测。 错误: 无法解析参考Microsoft.VC90.DebugCRT,processorArchitecture =“x86”,publicKeyToken =“1fc8b3b9a1e18e3b”,type =“win32”,version =“9.0.21022.8”。 错误:激活上下文生成失败。 结束激活上下文生成。

无法解析参考Microsoft.VC90.DebugCRT,processorArchitecture = …

有任何想法吗?

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

是的,只能在安装了Visual Studio的计算机上找到。 DebugCRT不可分发。 编写C或C ++代码并为其部署调试版本没有意义,速度要慢得多。

部署DLL的Release版本。 和VC ++库,安装项目的先决条件中的复选框之一。

我们刚刚有这个完全相同的错误,但原因是错误的,相比错误,它有望在这里添加,因为它来自谷歌的顶部…

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

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

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

用于实际检查您是否使用Windows 7(对于8和Vista必须相同)

从控制面板系统打开管理工具并选择事件查看器

单击Windows日志 – >应用程序

并排查找列下的错误日志

请注意发生错误的行号。

然后使用编辑器这样的写或记事本打开yourfilename.exe.manifest

然后从行号删除行并保存文件

你的问题解决了。

这标记为C#,所以我将给出C#答案:有些东西已经破坏了你的projectname.exe.config文件。

在文本编辑器中将其拉出来,很可能无法正常关闭某些内容,或者最后会出现一些垃圾字符。 你可以弄清楚为什么会发生这种情况。 但就目前而言,只需修好它就可以启动了。

我发现并行错误,app.config文件中存在不匹配或系统错误。 找到你的app.config文件中的错误。

确保您没有错误配置,例如http Web服务绑定中的

我有这个问题,这是app.manifest文件的assemblyIdentity元素中的version值的一个简单问题。 显然version必须包含所有四个数字(除非忽略assemblyIdentity ,如果嵌入了清单则是这种情况)。

所以解决这里:

  

是要设定

 version="1.0.1.0" 

在那之后,一切都很笨拙。

我想再次指出可能出现此错误的另一个原因: *.config文件的编码错误。

该文件需要使用UTF-8 ,而您现在可以通过使用notepad.exe手动创建配置文件来意外获取ANSI