gpt4 book ai didi

c# - 如何在 C# 中有条件地启用属性? "#if DEBUG"不工作

转载 作者:太空狗 更新时间:2023-10-29 22:35:24 26 4
gpt4 key购买 nike

C# 中值得信赖的旧预处理器指令在我编写时似乎工作得很好:

#if DEBUG
...
(Some code)
...
#endif

但是,包含在条件 block 中的属性似乎继续得到处理,我收到错误指示。例如,在条件 block 中包围 [AssemblyVersion(...)] 似乎没有任何影响。

我可以详细说明为什么我们要有条件地忽略 [AssemblyVersion(..)],但这无关紧要。有什么想法吗?

最佳答案

这对我来说是正确的。在我的 AssemblyInfo.cs 文件中,我有以下内容:

#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
#else
[assembly: AssemblyConfiguration("Release")]
#endif

在 Reflector 中查看编译后的程序集,我看到了正确的属性。

您应该确保您的 DEBUG 符号仅在项目 properties 中定义,而不是在代码中的任何其他地方作为实际的 #define DEBUG 指令定义。如果您直接在代码中定义它,它将只对该文件有效,而不是整个项目。在项目属性中定义它会导致它对整个项目生效。

关于c# - 如何在 C# 中有条件地启用属性? "#if DEBUG"不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/981415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com