如何检查应用程序是处于调试还是发布

时间:2009-10-23 04:47:38

标签: c# .net

我正忙着对我的应用程序进行一些优化,检查应用程序是否在DEBUG或RELEASE中的最简洁方法是什么

5 个答案:

答案 0 :(得分:16)

在编译时还是运行时?在编译时,您可以使用#if DEBUG。在运行时,您可以使用[Conditional("DEBUG")]来指示只应在调试版本中调用的方法,但这是否有用取决于您希望在调试版本和发布版本之间进行的更改类型。

答案 1 :(得分:9)

static class Program
{
    public static bool IsDebugRelease
    {
        get
        {
 #if DEBUG
            return true;
 #else
            return false;
 #endif
        }
     }
 }

虽然,我倾向于同意itowlson。

答案 2 :(得分:4)

我倾向于在AssemblyInfo.cs中添加如下内容:

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

答案 3 :(得分:3)

我个人不喜欢“ #if debug”更改布局的方式。我通过创建一个条件方法来做到这一点,该方法仅在调试模式下才被调用,并通过引用传递一个布尔值。

[Conditional("DEBUG")]
private void IsDebugCheck(ref bool isDebug)
{
    isDebug = true;
}

public void SomeCallingMethod()
{ 
    bool isDebug = false;
    IsDebugCheck(ref isDebug);

    //do whatever with isDebug now
}

答案 4 :(得分:1)

您可以使用ILSpy exe和dll都有。 只需将您的DLL \ EXE拖到资源管理器侧边栏,您可以看到:[assembly:Debuggable line ....

示例1:编译为发布模式: enter image description here

示例2:编译为调试模式: enter image description here

相关问题