我遇到了一个非常艰难的dll问题。
我正在使用side dll使我的Windows窗体应用程序与网络摄像头一起工作。应用程序在我的带VS2012的PC上运行正常,在我的笔记本电脑上使用VS2012,但它在Windows XP上完全无法运行,在虚拟机上运行。
我正在收到JIT留言
System.IO.FileNotFoundException: Could not load file or assembly '---, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
为了防止很多问题,我会自己回答:
是, dll会使用.exe复制到目录
是的,我确实将其部署为“发布”
是的,我确实将应用程序编译为x86目标平台
是的,我确实将dll编译为x86目标平台
是的,我确实安装了vcRedist所有版本以定位Windows XP
是的,我确实将.NET从3.0安装到4.0以定位Windows XP
我只是无法找出为什么我的计算机与Visual Studio可以使用该DLL,但XP不能。
答案 0 :(得分:2)
Dependency Walker将是用于找出DLL中缺少哪个依赖项的工具,从而阻止XP加载它。
您是否使用“v110_xp”工具集(Visual Studio 2012 - 使用更新1获得的Windows XP工具集)构建了本机C ++ DLL?如果你没有,那就是你的问题。默认情况下,使用普通v110编译器配置在VS2012中构建的C ++代码生成的可执行文件在Windows XP上不起作用,但需要Vista或更高版本。
答案 1 :(得分:0)