VS生成的.exe文件在别的电脑上不能用

2016-05-19|

用vs生成了一个可执行文件.exe,在自己电脑上用的好好的,无论是在vs中执行源代码还是直接打开.exe文件,都没有任何错误,但是换到别人的电脑上就无法正常运行了。

生成的.exe文件是用C#写了一个窗口,在C#中调用了一个C++生成的dll。在别人电脑上运行.exe文件时,主要出现两个错误:“无法加载*.dll:找不到指定的模块”和“试图加载格式不正确的程序”。

首先解释下第一个问题,“无法加载*.dll:找不到指定的模块”很明显是C#中调用的dll在运行的电脑上找不到,这就需要把程序中调用的dll 与.exe文件放在同一个目录下,并且不能在程序中把dll的路径写成绝对路径。如果把dll文件放到了.exe文件所在的目录下,还提示这个错误,那就 可能是没有把dll文件调用的其他dll文件放到.exe文件所在的目录下。当然,不在程序中修改调用文件的路径,不把其他dll文件放到.exe目录 下,可执行文件可能会正常执行,这种事情只会发生在,别人的电脑和你的电脑在很多配置,文件放置位置完全一致的情况下。 第二个问题,“试图加载格式不正确的程序”。C#程序生成的exe应该于dll生成的平台一致,比如,我程序中调用的dll生成的平台是win32,所以C#程序的生成平台选择了x86,还有就是C#程序的目标平台也选择x86,这样就解决了这个问题。在C#项目右键-》属性-》生成-》目标平台,修改C#程序的生成平台。

我们平台推送的是程序员需要的文章,会多偏向于技术文章,如果你是程序员,那就订阅吧,绝对值得订阅哦。你可以学到很多经验哦,而不是消遣时间哈。



文明发言,请先登录

文明上网理性发言,请遵守国家法律法规。

最新评论

©2003- 黑基网 黑名单存档手机版网站地图免责条款法律声明隐私保护