【问题标题】:DebugMode property in .NET 4.NET 4 中的 DebugMode 属性
【发布时间】:2018-03-06 08:11:10
【问题描述】:

我的设置文件中有一个名为 DebugMode 的属性,它是布尔类型。在测试新功能并同时控制生产版本时非常有用。

我想知道是否有一些名为 DebugMode 的内置属性,我可以使用它来控制哪些功能进入生产环境,哪些功能仅用于测试?

或者可能有调试级别,例如警告、消息、错误、严重错误或类似的东西?

是的,有一个类叫

System.Diagnostics.Debugger

但我不知道如何使用它。

如果问题太基本,我将删除。

【问题讨论】:

  • “如果这个问题太基本,我会删除它。” 你应该 - 你一次问多个问题。如果您想区分发布版本和调试版本,请使用构建配置和几个预处理器指令。
  • Aham,所以我应该多了解一下构建配置。
  • 是的,但是请记住,这些设置在运行时无法更改 - 这实际上很好,因为所有 if 都不会被编译,并且您的代码会变得更快,并且更小。
  • @ManfredRadlwimmer 好的。因此,即使我使用构建配置,在构建发布时如何禁用正在开发的功能?我再次认为这一切都归结为 *.settings 文件或项目配置文件中的属性。没有把握。有没有办法检查我是为发布还是使用代码进行调试?
  • @ManfredRadlwimmer Aham 我明白了。如果在 Debug 配置中,#if DEBUG #endif 将执行其中的内容,如果在 Release 构建配置中,则不会执行预处理器指令中的内容。整洁的! :)

标签: c# .net debugging visual-studio-debugging


【解决方案1】:

是的,当然可以,您可以使用预处理器指令#if DEBUG 之类的

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

【讨论】:

  • 您可能想要添加一些关于构建配置的信息 - 听起来 OP 并不知道如何定义或使用预处理器指令。
  • @ManfredRadlwimmer,这就是链接语言参考页面的原因
猜你喜欢
  • 1970-01-01
  • 2011-02-26
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-16
相关资源
最近更新 更多