上学期帮SF做项目,写个可视化大开口板应力集中系数和应力集中点位置的程序。要求计算部分必须用C++或者Fortran来写,方便SF继续开发,但又为了写图形界面的时候图省事,最后决定算法部分用C++来写,编译成dll让C#来调用。
把dll文件放在C#项目的..\bin\Debug目录下,C#项目在自己的电脑上一直工作得很正常;单独把exe和dll文件放在同一个目录下,exe也能正常运行。但是把这个两个文件拷到其他的电脑里运行发现在一部分电脑里会出现异常:在尚未调用dll的时候C#编写的exe可以正常运行,当需要调用自己编写的dll时,就会报错,无法加载dll,找不到指定的模块(异常来自HRESULT:0x8007007E)。
为了解决这个问题真是经历了千辛万苦的尝试,真想抱着电脑大哭一场。