C#Dll导入失败:“应用程序无法启动,因为它的并行配置不正确”

前端之家收集整理的这篇文章主要介绍了C#Dll导入失败:“应用程序无法启动,因为它的并行配置不正确”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用vs 2010的c#.net 4应用程序.
我试图导入一个c dll(基于vs 2005).
[DllImport("Card.dll")]

我失败了:

Unable to load DLL ‘Card.dll’: The application has Failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail. (Exception from HRESULT: 0x800736B1)

使用sxstrace.exe我得到:

ERROR: Cannot resolve reference Microsoft.VC80.DebugMFC,processorArchitecture=”x86″

我还发现:

MFC80D.DLL and MSVCR80D.DLL are missing

请注意,这不是DebugCRT,因为此问题是由使用Debug编译的DLL而不是Release引起的.我现在使用Release编译的dll,问题是DebugMFC.

我尝试过任何我能在网上找到的东西.为了节省时间,我将介绍我尝试的内容,所以我不会再次得到这个建议:

1-我已安装Microsoft Visual C 2010 Redistributable Package SP1安全更新

2-我已安装Microsoft Visual C 2008 Redistributable Package

3 – 我已经安装了Microsoft Visual C 2005 Redistributable Package

4 – 我尝试将此应用程序作为“发布”而不是“调试”运行

5 – 我试图将entryPoint设置为DllImport

没有帮助.我仍然得到同样的错误.我没有看到任何其他在线建议,而不是上面列出的建议.
谁能帮我?

解决方法

因为它说“无法解析引用Microsoft.VC80.DebugCRT,processorArchitecture =”x86“,这意味着您缺少对VC 8.0的调试crt运行时的依赖.这意味着您需要构建一个版本,而不是调试版本的卡.dll.微软没有为调试CRT运行时提供可再发行的软件包.这些软件包只附带visual studio.因此构建一个发布版本的card.dll,这应该有助于你的情况.

猜你在找的C&C++相关文章