如何分辨“如果在开发环境中”?

时间:2019-09-24 07:27:21

标签: c# visual-studio

我想在Visual Studio中开发的C#程序中添加条件:

#If onEditor 
   do something

在Unity中存在if Application.isEditor

Visual Studio上的“常规”(WinForms或ASP.NET)C#应用程序中是否存在某些内容?

3 个答案:

答案 0 :(得分:5)

#if是编译指令,因此将检查编译时而不是运行时的情况。 #if DEBUG实际上表示“这是在调试模式下构建的”,而不是“发布模式”。如果您的程序没有任何信息说明运行的起源。

我认为您正在寻找的是Debugger.IsAttached:它会检查是否连接了调试器。如果是true,则说明该程序是从Visual Studio运行的,或者稍后附加了调试器。

答案 1 :(得分:2)

在Visual Studio中使用它来测试您是否在调试模式下运行:

if (Debugger.IsAttached)
{
   Debugger.Break();
}

使用#if DEBUG在调试模式或发布模式下有条件地编译代码。

答案 2 :(得分:1)

您可以使用:

#if DEBUG

DEBUG常量是在所有默认Visual Studio项目模板中为调试配置定义的。