0

有没有办法检查 app.cs 是应用程序调试或部署的当前状态?

或者问题是我只想在调试应用程序时执行一段代码。

4

3 回答 3

5

您可以像这样简单地使用#if DEBUG指令

#if DEBUG
    //code here only executes in debug
#endif

因此,如果您想要一些在 DEBUG 中运行的代码和一些在 RELEASE 中运行的代码,您可以这样做:

#if DEBUG
    //code here only executes in debug
#else
    //code here only executes in release
#endif

正如 DAKL解释的那样,您也可以使用 Conditional 属性。

于 2012-10-02T15:51:46.977 回答
3

您可以为此使用 [ConditionalAttribute("DEBUG")]。

如果您希望仅在调试模式下执行方法,您可以执行以下操作:

[ConditionalAttribute("DEBUG")]
public void WriteOnlyInDebug(string message)
{
    Console.WriteLine(message);
}

此方法仅在调试模式下调用。当您在发布模式下构建应用程序时,该方法及其所有调用都将从二进制文件中删除。

于 2012-10-02T15:49:35.597 回答
1

其他答案告诉您如何在运行时检查您的应用程序是否编译为调试版本。如果您想查看是否附加了 Visual Studio(或任何其他调试器)并调试您的应用程序,您可以使用System.Diagnostics.Debugger.IsAttached

于 2012-10-02T20:25:52.917 回答