C#调用Fortran编写的dll遇到DllNotFoundException
1、我把Fortran编写的dll复制到C#项目的Debug文件夹下了。在添加引用的时候就一直无法添加。百度说不添加引用也没有关系,只是为了IDE方便,于是我就直接运行了...
1、我把Fortran编写的dll复制到C#项目的Debug文件夹下了。在添加引用的时候就一直无法添加。百度说不添加引用也没有关系,只是为了IDE方便,于是我就直接运行了,并不能调用我的dll,改成绝对路径还是不能调用:
无法加载DLL“xxxx.dll”:找不到指定模块。(异常来自HRESULT:0x8007007E)。
我的C#和Fortran都是用VS2010编的。
--------------------------------------------------------------------
2、第二个问题关于Fortran编写的dll。我在这个dll里面用到了module,而且使用了多个subroutine,subroutine依次调用,我只在C#直接调用的subroutine里写了必须的栈堆管理约定、命名约定等等。这样是不是就可以了,还是每个subroutine都要写?
--------------------------------------------------------------------
3、查资料的时候发现,有的回答说dll和调用它的C#项目必须同时是DEBUG或者RELEASE的,我不清楚这个描述“编译生成DLL”这里的编译是什么意思?具体如何操作?
有人说是build solution,我试了DEBUG、试了RELEASE,试了生成xxxx.dll,然后重新生成dll时,我发现文件管理器里相关项的最近修改时间都没有变化。
对这个“编译”的操作真的不懂 展开
无法加载DLL“xxxx.dll”:找不到指定模块。(异常来自HRESULT:0x8007007E)。
我的C#和Fortran都是用VS2010编的。
--------------------------------------------------------------------
2、第二个问题关于Fortran编写的dll。我在这个dll里面用到了module,而且使用了多个subroutine,subroutine依次调用,我只在C#直接调用的subroutine里写了必须的栈堆管理约定、命名约定等等。这样是不是就可以了,还是每个subroutine都要写?
--------------------------------------------------------------------
3、查资料的时候发现,有的回答说dll和调用它的C#项目必须同时是DEBUG或者RELEASE的,我不清楚这个描述“编译生成DLL”这里的编译是什么意思?具体如何操作?
有人说是build solution,我试了DEBUG、试了RELEASE,试了生成xxxx.dll,然后重新生成dll时,我发现文件管理器里相关项的最近修改时间都没有变化。
对这个“编译”的操作真的不懂 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询