2013-03-08 2 views
5

В C#/VB в Visual Studio 2010, есть ли способ в коде, чтобы определить, работает ли программа в среде IDE или нет?Способ определения, выполняется ли в среде IDE или нет?

eg. If ProgramRunningInIDE Then MessageBox.Show exc.Message 
+0

Или просто просмотрите Связанный список в правой части этой страницы – Steve

+1

Я считаю, что это полезно для '#if DEBUG'. – IAbstract

+1

@IAbstract, не так, если вы работаете в конфигурации выпуска. – Morrison

ответ

12

Вы можете проверить, если отладчик прилагаются:

System.Diagnostics.Debugger.IsAttached 

Это по существу делает то же самое.

-3

Существует IsInDesignMode собственности, которую вы можете использовать. В некоторых случаях это не точно, поэтому, вы также можете проверить UsageMode.

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

IsInDesignMode может использоваться элементом управления (в библиотеке), чтобы понять, размещен ли он в дизайнере (визуальная студия) или в запущенном приложении, но он не имеет никакого отношения к обнаружению, если приложение было запущено с помощью IDE или нет , IsInDesignMode вернет true только для элемента управления, который был инициализирован IDE, а не если приложение запущено с помощью IDE – Max

+0

. Тогда проясните это в своем вопросе. Это в значительной степени то, что я понимаю, «программа в настоящее время работает в среде IDE». – fjdumont

+1

@fjdumont Во время разработки ваша программа на самом деле не работает, не так ли? – mg30rg

Смежные вопросы