用vs生成了一个可执行文件.exe,在自己电脑上用的好好的,无论是在vs中执行源代码还是直接打开.exe文件,都没有任何错误,但是换到别人的电脑上就无法正常运行了。
生成的.exe文件是用C#写了一个窗口,在C#中调用了一个C++生成的dll。在别人电脑上运行.exe文件时,主要出现两个错误:“无法加载*.dll:找不到指定的模块”和“试图加载格式不正确的程序”。
第二个问题,“试图加载格式不正确的程序”。C#程序生成的exe应该于dll生成的平台一致,比如,我程序中调用的dll生成的平台是win32,所以C#程序的生成平台选择了x86,还有就是C#程序的目标平台也选择x86,这样就解决了这个问题。在C#项目右键-》属性-》生成-》目标平台,修改C#程序的生成平台。