应用程序无法启动,因为应用程序的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行SxsTrace.exe工具

今天做项目,需要用C#引用C++的链接库文件,但是在调试的时候会报错这个错误。

运行SxsTrace.exe

  1. 以管理员用户登陆,启动cmd;
  2. 执行命令:SxsTrace Trace -logfile:SxsTrace.etl,启动跟踪;
  3. 执行目标程序,弹出错误对话框;
  4. 关闭对话框后,回到命令行,点击回车;
  5. 继续执行命令:SxsTrace Parse -logfile:SxsTrace.etl -outfile:SxsTrace.txt,解析跟踪信息为文本;
  6. 打开SxsTrace.txt就可以看到相关跟踪信息。

在SxsTrace.txt中看到:

错误: 无法解析参考 Microsoft.VC90.DebugCRT,processorArchitecture=x86,publicKeyToken=1fc8b3b9a1e18e3b,type=win32,version=9.0.21022.8
错误: 生成激活上下文失败。
结束生成激活上下文

由此可以知道 原来引用的C++链接库需要vc9的运行时文件

  1. 安装Visual studio 2008 里面的VC_x86Runtime.exe
  2. 在C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC90.DebugCRT目录下拷贝Microsoft.VC90.DebugCRT.manifest、msvcm90d.dll、msvcp90d.dll、msvcr90d.dll这四个文件放到链接库相同目录下就可以了
上一篇:JAVA获取当前系统时间System.currentTimeMillis()


下一篇:JAVA获取当前系统时间System.currentTimeMillis()以及获取运行时间