2013-03-08 15 views
5

In C#/VB in Visual Studio 2010, c'è modo nel codice per determinare se il programma è attualmente in esecuzione nell'IDE o no?Modo per determinare se l'esecuzione in IDE o no?

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

Oppure basta guardare l'elenco correlato sul lato destro di questa pagina – Steve

+1

Credo che sia un buon uso di '#if DEBUG'. – IAbstract

+1

@IAbstract, non così se si sta eseguendo nella configurazione di rilascio. – Morrison

risposta

12

Si potrebbe verificare se il debugger è attaccato con:

System.Diagnostics.Debugger.IsAttached 

Questo fa essenzialmente la stessa cosa.

-3

C'è una proprietà IsInDesignMode che è possibile utilizzare. In alcune circostanze, tuttavia, non è accurato, pertanto è possibile anche controllare lo UsageMode.

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

IsInDesignMode può essere utilizzato da un controllo (in una libreria) per capire se è ospitato nel designer (studio visivo) o in un'applicazione in esecuzione, ma non ha nulla a che fare con il rilevamento se l'applicazione è stata cancellata dall'IDE o no . IsInDesignMode restituirà true solo per un controllo che è stato istanziato dall'IDE, non se l'app viene avviata dall'IDE – Max

+0

Quindi chiarire che nella domanda. Questo è più o meno quello che ho capito dal 'programma è attualmente in esecuzione nell'IDE'. – fjdumont

+1

@fjdumont Durante la fase di progettazione il programma non è in esecuzione, vero? – mg30rg

Problemi correlati