Release模式和Debug模式下调用dll的结果完全不一样?

时间:2023-01-19 21:09:37
一个vs 2008 c#项目,其中有一个功能模块是调用vc的dll,一直都没有问题。但昨天突然出现一个很意外的问题:在debug模式下编译的c#项目,运行中可以正常调用vc的dll,但release模式下编译的就出问题了,提示无法加载dll文件,要知道以前可一直都是好的。原来想可能是无意中改了release的什么参数,但调了半天没发现问题。谁知道今天一个vs2002得项目也出现同样的问题?请大家帮帮忙。

7 个解决方案

#1


release默认输出到bin/release目录下
你需要把bin/debug目录下的c++的dll拷贝到bin/release目录下

 或设置你所有工程的release和debug的编译输入目录为同一目录

#2


release模式会新建一个文件夹release,所以你运行所需的文件需要拷贝到这个目录下

#3


一个附带调试的东西;一个是最小依赖的.

#4


检查一下是不是目录不同造成的。

#5


再次说明,以前一切正常,也就是说所有需要的运行环境都是配好的,应该不存在这方面的问题。
只是昨天才出现这个奇怪的问题的

#6


注意动态库的一致。。。
路径,注意路径。。。

#7


还是环境的问题,是我上次换了vc的dll,同时把这个dll调用的一个dll文件一并换了。昨天把vc的dll换回来的时候,却忘了换它掉用的那个dll。谢谢各位

#1


release默认输出到bin/release目录下
你需要把bin/debug目录下的c++的dll拷贝到bin/release目录下

 或设置你所有工程的release和debug的编译输入目录为同一目录

#2


release模式会新建一个文件夹release,所以你运行所需的文件需要拷贝到这个目录下

#3


一个附带调试的东西;一个是最小依赖的.

#4


检查一下是不是目录不同造成的。

#5


再次说明,以前一切正常,也就是说所有需要的运行环境都是配好的,应该不存在这方面的问题。
只是昨天才出现这个奇怪的问题的

#6


注意动态库的一致。。。
路径,注意路径。。。

#7


还是环境的问题,是我上次换了vc的dll,同时把这个dll调用的一个dll文件一并换了。昨天把vc的dll换回来的时候,却忘了换它掉用的那个dll。谢谢各位