VS加载dll报错:未处理的FileLoadException,需要Microsoft.VC90.CRT,msvcm90d,......

今天调试一个小东西,在VS里使用C#调用一个dll,这个dll是在vs2008 sp1里编译的,看官方说明,号称理论上只要是vs更高版本都可以使用。

一、

调试的时候遇到一个问题:
image.png

从它的提示来看,给的信息不足,经过一番折腾,用windows事件查看器才看到更详细的报错。

二、

如何打开windows日志?看下图:

如何打开windows日志

日志提示:
“C:\Users\Administrator\Documents\Visual Studio 2013\Projects\WindowsFormsApp1\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\XtTraderNetApi.dll”的激活上下文生成失败。 找不到从属程序集 Microsoft.VC90.DebugCRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。 请使用 sxstrace.exe 进行详细诊断。

三、

日志记录

上网搜索,经过分析,发现是缺少了vc++2008(vc90)的运行库。
从微软网站下载该运行库,安装。

再次F5运行程序,如果提示找不到以下文件:Microsoft.VC90.DebugCRT,msvcm90d.dll,msvcp90d.dll,msvcr90d.dll,可从网上下载四个文件,放到工程文件的debug文件夹里面.
网络下载这四个文件的地址:

四、

Microsoft.VC90.DebugCRT下载地址

我最恨国内的某些号称专业的网站,下载个文件,还TM要你注册登录刷积分,日了Go了

五、 调dll包出错的总结
1、查看windows日志,看看是什么依赖项出错
2、缺啥补啥

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容