Prima di eseguire una applicazione (e sperare che funzioni) è necessario averne compilato tutte le parti senza errori. In Visual Studio lanciamo quella che viene chiamata "Generazione" dell'applicazione.
L'ambiente di sviluppo fornisce gli strumenti per generare e testare le applicazioni. Questi strumenti possono essere configurati in modo particolare per ogni singolo progetto, come osserveremo più avanti.
Durante la progettazione gli sviluppatori tendono a compilare più volte l'applicazione, per verificarne le funzionalità man mano; questa fase è detta "generazione in Debug" ed è divisa in due parti bene distinte:
- compilazione e correzione degli eventuali errori di sintassi, incongruenze tra tipi di dati o semplicemente errori di scrittura;
- test dell'applicazione e del suo funzionamento logico.
Queste due fasi vengono eseguite più volte durante lo sviluppo, proprio perché oltre alla correzione di errori che impediscono la compilazione, esistono degli errori (eccezioni) che possono essere scatenati durante l'esecuzione del progetto, che rappresentano quindi errori della logica con cui è stata pensata l'applicazione.
Completata la fase di test raggiunti i requisiti funzionali richiesti, è possibile passare alla compilazione finale del progetto, detta "Release". In questa fase è possibile ottimizzare la compilazione in modo tale da aumentare la velocità di esecuzione nei confronti di quanto era disponibile in fase di test.
Troviamo le funzioni di ottimizzazione nel menu "Build", che presenta opzioni diverse a seconda del tipo di progetto.
- Build solution - Generazione completa di tutti i progetti inseriti all'interno della soluzione;
- Rebuild solution - Rigenerazione completa di tutti i progetti della soluzione;
- Clean solution - Cancellazione di tutti i file risultanti dalle precedenti compilazioni di ogni progetto della soluzione;
- Build <progetto selezionato> - Generazione del singolo progetto selezionato;
- Rebuild <progetto selezionato> - Rigenerazione completa del singolo progetto selezionato;
- Clean <progetto selezionato> - Cancellazione di tutti i file risultanti dalle precedenti compilazioni del solo progetto selezionato;
- Publish <progetto selezionato> - Pubblicazione del progetto selezionato. Se stiamo sviluppando una applicazione desktop, ci verrà proposto il wizard di pubblicazione dell'applicazione con ClickOnce, se invece lavoriamo ad un sito Web, utilizzeremo il wizard per la pubblicazione di un'applicazione ASP.NET.
- Batch build - Maschera di opzioni di compilazione e debug dei progetti presenti all'interno della soluzione;
- Configuration Manager - Maschera di opzioni generali di compilazione e debug, da applicare successivamente ai vari progetti.
I risultati di tutte queste operazioni li ritroviamo nella cartella /bin
del progetto e nelle sue sottocartelle: in fase di sviluppo e test sarà utilizzata la cartella /bin/Debug
, mentre in modalità release la cartella utilizzata sarà bin/Release
.