判断是否在IDE中执行的方法?

11 浏览
0 Comments

判断是否在IDE中执行的方法?

Visual Studio 2010C#/VB中,代码中有没有办法确定程序当前是否在IDE中运行?

例如,如果程序在IDE中运行,则显示MessageBox.Show exc.Message

0
0 Comments

如何确定程序是在IDE中执行还是在其他环境中执行?

有一个IsInDesignMode属性可以使用。然而,在某些情况下,它并不准确,所以你可能还想检查UsageMode属性。

以下是一个示例代码:

public static bool IsRunningInIdeContext
{
    get {
        if (DesignerProperties.IsInDesignMode)
            return true;
        return LicenseManager.UsageMode == LicenseUsageMode.Designtime;
    }
}

IsInDesignMode属性可以让控件(在库中)判断自己是否在设计者(Visual Studio)中托管,或者在运行的应用程序中,但它无法判断应用程序是通过IDE启动的还是通过其他方式启动的。IsInDesignMode属性仅对通过IDE实例化的控件返回true,而不是对通过IDE启动的应用程序返回true。

如果你的问题是关于程序当前是否在IDE中运行,请明确说明。在设计时,你的程序实际上并没有运行,对吗?

0
0 Comments

判断程序是否在IDE中执行的方法是通过检查是否附加了调试器。可以使用System.Diagnostics.Debugger.IsAttached属性来判断调试器是否附加。这个属性的返回值是一个布尔型,如果调试器已经附加,则返回true,否则返回false。

但是需要注意的是,这种方法并不是百分百准确的。因为在发布模式下,即使在IDE中也可能返回false。只要调试器没有附加,无论是在调试模式还是发布模式下,这个属性都会返回false。实际上,调试器也可以附加到发布版本中,这种情况下这个属性会返回true。

所以,这种方法并不可靠,无法完全确定程序是否在IDE中执行。如果需要确定程序是否在IDE中执行,建议使用其他方法或者结合其他条件进行判断。

0