以编程方式检查构建配置

Programmatically check the build configuration

使用 DEBUG 配置,我可以使用这种语法打开和关闭行为:

#if DEBUG
    Console.WriteLine("Debug");
#else
    Console.WriteLine("Not Debug");
#endif

但是,如果我设置不同的配置,比如:TEST,那么这不起作用:

#if TEST
    Console.WriteLine("Test");
#else
    Console.WriteLine("Not Test");
#endif

有没有办法检查这些?

DEBUG常量是一个特殊的常量,每个配置中的每个项目都有一个设置是否应该定义它。默认情况下,它在 Debug 中打开,在 Release 中关闭,但它是完全可配置的 - 打开项目的属性页面并在 "Build" 下查看,那里有一个复选框,上面写着 "Define DEBUG constant."

因此,定义新的构建配置不会自动免费为您提供任何其他编译常量。但这并不意味着您不能手动创建它们。

要创建编译常量,请将其添加到 "Conditional Compilation Symbols" 的列表中 - 但请确保在正确的构建配置中这样做。

是的,您可以使用不同的配置。 如果您在配置管理器中选择调试配置,则会自动生成 DEBUG 符号。你可以检查一下。转到您的项目 -> 属性 -> 构建 -> 定义 DEBUG 常量

如果您需要使用额外的常量,只需在条件编译符号中输入您自己的常量即可。

您的案例的步骤:

  1. 转到您的项目 -> 属性 -> 构建
  2. 将配置切换到测试
  3. 在条件编译符号字段中输入 TEST

运行 您的代码并享受 :)