如何在C#中设置项目范围的#define

Bre*_*len 20 c# compiler-directives visual-studio

我在一个项目中有几个类,它们只需要在应用程序的某些版本中,这些版本当前还没有准备好发布或调试.

为了防止这些类被使用,我想围绕它们:

#if USE_MYCLASS
// Code here...
#endif
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不知道如何设置项目范围#define.

Visual Studio中是否有功能来设置项目范围的定义.

如果有,虽然我现在不需要它,是否有设置解决方案范围定义的功能?

如果没有这样的功能(看作C#没有包含文件,我想这是可能的),是否有任何方法或插件在不使用命令行编译器和/ D的情况下执行此功能?

Mar*_*ell 35

您可以在项目属性中执行此操作,但不能在源代码中执行此操作.

Project Properties => Build =>条件编译符号

您可以指定所需的符号(空格分隔,但IIRC非常宽容).请注意,DEBUGTRACE也可以用一个复选框切换.

我有一些项目有多个"发布"构建配置,每个都有不同的符号(对于构建2.0 vs 3.0 vs 3.5版本 - 请参阅<DefineConstants> 此处)

  • “您可以在项目属性中执行此操作,但不能在源代码中执行。” 这实际上是非常不愉快的限制。为了方便和可见,能够在代码中执行此操作很重要。 (2认同)