我曾经相信如果我们得到一个 Debug
构建它是否真的无关紧要:
一切都会一样。
然而,最近我遇到了 2 个不同的问题,很明显,当代码刚运行时,或者在调试时,即使代码版本应该是相同的,也有一些不同。
(即Fluent NHibernate cannot load MySql.Data from GAC in debug mode of a test
和 Npgsql - Specified method is not supported )
我想知道 .NET 4.0 中这两者之间的区别是什么?了解不同之处可能会帮助我解决我遇到的问题,因为我至少会知道在这些不同情况下在哪里寻找错误的可能原因。当我运行单元测试时,我不明白它的全部绿色,但是当我尝试调试它们时,我抛出了各种异常..
最佳答案
装配解析问题的首选武器是 fuslogvw.exe ,它会显示它在何处查找程序集以及正在使用什么配置来告诉 CLR 在哪里可以找到程序集。
对于您遇到问题的组件类型,存在次要故障模式。这些 dbase 提供程序通常是托管包装器,它们依赖于非托管 DLL 来完成工作。 Windows 必须能够找到这些 DLL。如果它们没有复制到 PATH 上的目录或复制到与主 EXE 相同的文件夹中,这往往会失败。仔细阅读这些包装器的部署说明。
关于.net - Debug build 在调试和不调试的情况下运行有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7290497/