#51: VB.NET – identificare modalità debug o release

Molti di voi sapranno che è possibile compilare un progetto o una soluzione di Visual Basic 2008 in due modalità distinte: DEBUG e RELEASE.

Nella modalità DEBUG vengono mantenuti i simboli interni, al fine di poter disporre di un riferimento di supporto alla verifica del codice inserito. Nella modalità RELEASE, invece, vengono eliminati tutti questi simboli e l’applicazione compilata è pronta alla distribuzione.

Distribuire un’applicazione in modalità DEBUG non solo è inutile ma è anche dannoso: infatti le informazioni possono essere utilizzate per un’operazione di reverse engineering per recuperare il nostro codice VB.NET, ma anche le prestazioni dell’applicazione ne possono risentire in senso negativo. E’ quindi importante, prima di distribuire un’applicazione, passare alla modalità RELEASE e ricompilare il progetto o la soluzione.

Premesso questo, talvolta è importante sapere se un assembly sia stato compilato in modalità DEBUG o RELEASE, per evitare di distribuire l’applicazione dimenticando il passaggio dalla modalità DEBUG alla modalità RELEASE.

Possiamo ottenere questo in modo estremamente semplice, con questi semplici passi:

  1. nella finestra Esplora Soluzioni, attivare il pulsante “Mostra tutti i file”;
  2. nel livello inferiore contenuto nel nodo “My Project” troveremo così il file AssemblyInfo.vb; aprire questo file per visualizzare il codice;
  3. in tale file troveremo una “istruzione” simile alla seguente:
    <Assembly: AssemblyTitle(“WindowsApplication2”)>
  4. commentare tale istruzione con il simbolo di apice oppure eliminare l’intera riga;
  5. inserire il seguente codice:
#If DEBUG Then
<Assembly: AssemblyTitle("MyApplication *** Debug ***")> 
#Else
<Assembly: AssemblyTitle("MyApplication *** Release ***")> 
#End If

A questo punto possiamo compilare in entrambe le modalità per ottenere gli eseguibili (exe) in entrambe le sottocartelle del progetto (debug e release).

Per verificare se un eseguibile (assembly) sia stato compilato in modalità DEBUG o RELEASE, possiamo semplicemente passare con il puntatore del mouse sopra al nome del file eseguibile nella finestra di Esplora risorse, come mostrato nella seguente figura:

Debug-Release