Release#Build-DL​​L中的C#:Debug.Assert()似乎是由Debug-Build-Project激活的

时间:2017-03-28 10:52:05

标签: c# dll assert

我有一个带有很多Debug.Assert()调用的DLL。 我已将此DLL构建为Release,因此Assert未处于活动状态(我使用小型测试程序进行了检查)。 现在我在一个软件项目中使用这个DLL,这是一个Debug-Build,由于某些原因,DLL中的Asserts再次处于活动状态。 项目的DEBUG定义是否重新激活DLL中的断言? (VisualStudio 2013)

1 个答案:

答案 0 :(得分:0)

documentation州:

  

当C#编译器遇到#if指令,最后是#endif指令时,只有在定义了指定的符号时,它才会在指令之间编译代码。

考虑到这一点,我会说你不应该看到这些断言,因为在Release模式下进行编译时,代码应该被忽略了。

您可以尝试反编译发布程序集,看看代码是否已生成。