Condividi tramite


Compilazione e debug (Visual C#)

Aggiornamento: novembre 2007

In Visual C# un'applicazione eseguibile viene generata scegliendo Genera dal menu Genera oppure premendo CTRL+MAIUSC+B. È possibile generare e avviare l'applicazione in una sola operazione premendo F5 o scegliendo Esegui dal menu Debug.

La compilazione consiste nell'inserimento dei file del progetto nel compilatore C#, il quale converte il codice sorgente in linguaggio MSIL (Microsoft Intermediate Language), quindi unisce il codice MSIL ai metadati, alle risorse, al manifesto e ad altri eventuali moduli per creare un assembly. Un assembly è un file eseguibile che in genere presenta un'estensione exe o dll. Durante lo sviluppo dell'applicazione, si potrebbe desiderare di generare una versione di debug per eseguire test e verificarne l'esecuzione. Infine, dopo aver verificato la correttezza di tutti gli elementi, si creerà una versione di release da distribuire ai clienti.

Per ulteriori informazioni sugli assembly, vedere Cenni preliminari sugli assembly.

Impostazioni di generazione

Per specificare le impostazioni di generazione, fare clic con il pulsante destro del mouse sull'elemento di progetto in Esplora soluzioni e quindi fare clic sul riquadro Genera in Progettazione progetti. Per ulteriori informazioni, vedere Introduzione a Progettazione progetti e Opzioni del compilatore C#.

In Visual Studio viene utilizzato lo strumento MSBuild per creare gli assembly. È possibile eseguire MSBuild anche dalla riga di comando ed è possibile personalizzarlo in molti modi. Per ulteriori informazioni, vedere MSBuild.

Errori durante la generazione

Se sono presenti errori o identificatori che non è possibile risolvere in un tipo o un membro conosciuto nella sintassi C#, la compilazione avrà negativo e verrà visualizzato un elenco di errori nella Finestra Elenco errori che, per impostazione predefinita, viene visualizzata direttamente sotto l'editor di codice. È possibile fare doppio clic su un messaggio di errore per spostarsi sulla riga del codice in cui si è verificato l'errore.

Errore del compilatore CSharp

I messaggi di errore del compilatore C# sono in genere chiari e descrittivi, tuttavia nel caso in cui non sia possibile determinare il problema, è possibile consultare la pagina della Guida relativa a quel messaggio premendo F1 con il messaggio di errore selezionato nell'elenco errori. Nella pagina della Guida sono contenute utili informazioni aggiuntive. Se non è possibile risolvere il problema, il passaggio successivo consisterà nel rivolgere la domanda su uno dei forum o dei newsgroup di C#. Per accedere a questi forum, scegliere Forum MSDN dal menu ?.

Nota:

Se si riscontra che una pagina della Guida non è stata utile per la risoluzione di un determinato errore, è possibile aiutare Microsoft a migliorare la documentazione inviando una descrizione del problema. Per inviare il messaggio di posta elettronica, fare clic sul collegamento nella parte inferiore della pagina della Guida in cui è contenuto l'errore.

Configurazioni release e debug

Quando si sta ancora lavorando sul progetto, l'applicazione viene di solito compilata tramite la configurazione per il debug, in quanto tale configurazione consente di visualizzare il valore delle variabili e di controllare l'esecuzione nel debugger. È inoltre possibile creare ed eseguire il test delle generazioni nella configurazione release per verificare di non aver introdotto alcun errore che si verifica soltanto su un tipo di generazione o su un altro. Nella programmazione .NET Framework tali errori sono molto rari, tuttavia possono verificarsi.

Quando l'applicazione è pronta per le distribuzione agli utenti finali, creare una build di rilascio, che avrà dimensioni nettamente inferiori e prestazioni decisamente superiori rispetto alla configurazione per il debug corrispondente. È possibile impostare la configurazione della build nel riquadro Genera di Progettazione progetti o sulla barra degli strumenti Genera. Per ulteriori informazioni, vedere Configurazioni di compilazione.

Debug

Ogni volta che si utilizza l'editor di codice, è possibile impostare un punto di interruzione su una riga di codice premendo F9. Quando si preme F5 per eseguire l'applicazione all'interno del debugger di Visual Studio, l'applicazione verrà interrotta in corrispondenza di tale riga e sarà possibile esaminare il valore di qualsiasi variabile specifica oppure osservare quando e in che modo viene interrotta l'esecuzione di un ciclo, eseguire il codice una riga alla volta premendo F10 o impostare punti di interruzione aggiuntivi.

Dettaglio punto di interruzione CSharp

È inoltre possibile impostare punti di interruzione condizionali, che interromperanno l'esecuzione esclusivamente nel caso venga soddisfatta una condizione specificata. I punti di analisi sono come i punti di interruzione, a differenza del fatto che non interrompono l'esecuzione, ma scrivono soltanto il valore di una variabile specificata nella finestra di output. Per ulteriori informazioni, vedere Punti di interruzione e punti di analisi.

Quando l'esecuzione viene interrotta in corrispondenza di un punto di interruzione, è possibile passare il puntatore del mouse su qualsiasi variabile dell'ambito per visualizzare informazioni sulla variabile. Di seguito viene illustrato un suggerimento dati:

Suggerimento dati del debugger

È possibile eseguire il codice una riga alla volta premendo F10 dopo che il debugger è stato interrotto in corrispondenza di un punto di interruzione. È inoltre possibile correggere alcuni tipi di errori nel codice e continuare il debug senza dover interrompere e ricompilare l'applicazione.

Il debugger di Visual Studio è uno strumento potente ed è utile leggere attentamente la documentazione per comprendere diversi concetti quali Modifica e continuazione, Visualizzazione di dati nel debugger, Visualizzatori e Debug JIT.

Vedere anche

Attività

Procedura: impostare le configurazioni di debug e rilascio

Procedura: eseguire il debug di codice nell'editor

Riferimenti

System.Diagnostics

Altre risorse

Visual C#

Utilizzo dell'IDE di Visual C#

Preparazione al debug: tipi di progetti C# e Visual Basic

Impostazioni di debug e preparazione