我想知道当我在调试模式下以及处于发布模式时构建WF应用程序时会发生什么。
假设我在发布模式下构建了WFA。
之间的代码#if DEBUG
...code...
#endif
在生成的.exe文件中构建?我问这个是因为在调试模式下我有一些机密信息,我宁愿保密。我不希望任何人反向设计我的应用程序来查找该信息。
非常感谢。
答案 0 :(得分:3)
否则当您在release
内置时,所有块的内容如:#if DEBUG
将不会包含在结果代码中。这是设计的。
答案 1 :(得分:3)
它不会是编译应用程序的一部分,将被编译器跳过。你可以在.net reflector验证它(如果你想确定并亲自看看)
答案 2 :(得分:2)
检查msdn:#if (C# Reference)
C#编译器使用的预处理语句。当C#编译器遇到#if指令,最后是#endif指令时,只有在定义了指定的符号时,它才会在指令之间编译代码。
所以这意味着如果你在Release
模式下构建你的项目debug
没有定义sysmbol,那么它之间的代码就不会被执行而不是发布版本的一部分。