Concludiamo il nostro corso su Visual Basic .NET con alcune considerazioni sulla compilazione e sulla distribuzione di un'applicazione. A differenza di quanto avveniva con le versioni precedenti, con VB .NET il file eseguibile del proprio progetto non deve essere più creato esplicitamente, selezionando il comando Crea <nome progetto>.exe dal menu File; ora l'eseguibile è creato o aggiornato ad ogni compilazione e salvato nella sottocartella bin della cartella che contiene il progetto.
Per modificare le proprietà di un progetto, è necessario fare clic con il tasto destro del mouse sul nome del progetto stesso all'interno del Solution Explorer e selezionare il comando Properties (Proprietà). Si aprirà una finestra di dialogo composta di diversi parti raggiungibili attraverso la vista ad albero.
Nella sezione General, la casella di testo Assembly name permette di impostare di impostare il nome dell'eseguibile (senza estensione, che verrà aggiunta automaticamente);
Output type specifica il tipo di applicazione che si sta creando e viene impostato quando di seleziona il tipo di progetto nella finestra New Project (Nuovo progetto);
Startup object consente di definire il punto di ingresso dell'applicazione, ovvero il punto da cui inizierà l'esecuzione del programma quando lo avviamo.
La scheda Build, tra le altre opzioni, permette di impostare l'icona dell'applicazione, agendo sul valore di Application Icon. Notiamo che in questa finestra non si possono specificare le informazioni sul file, come Titolo, Descrizione, Copyright e versione. Per fare questo, è necessario aprire con un doppio clic il file AssemblyInfo.vb, sempre presente in ogni progetto di Visual Basic .NET e visibile nel Solution Explorer. tra le informazioni contenute in esso, in formato XML, troviamo anche:
<Assembly: AssemblyTitle("")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("")>
<Assembly: AssemblyCopyright("")>
<Assembly: Assemblytrademark("")>
Per ognuno di questi attributi è possibile specificare un valore, inserendolo tra le virgolette: tale valore comparirà poi nella scheda Versione delle proprietà dell'eseguibile. Ad esempio, per indicare il titolo del programma e il copyright bisogna modificare gli attributi AssemblyTile e AssemblyCopyright:
<Assembly: AssemblyTitle("Programa di prova")>
<Assembly: AssemblyCopyright("Realizzato da Marco Minerva")>
Anche per impostare il numero di versione del programma è necessario modificare un altro attributo di AssemblyInfo.vb:
<Assembly: AssemblyVersion("1.0.*")>
Il primo numero è il Major Version, cioè il numero principale della versione; poi ci sono il Minor Version, il Build Number e la Revision. Ad esempio, in 5.2.0.8, 5 è il Major Version, 2 il Minor Version, 0 il Build Number e 8 la Revision. Se invece di un numero si specifica un asterisco (come mostrato sopra per il Build Number), il numero corrispondente verrà incrementato ad ogni compilazione.
Visual Basic .NET introduce il concetto di configurazioni di rilascio, che dovrebbe essere già noto a chi ha utilizzato Visual J++; esso determina il modo in cui un'applicazione viene compilata. Di default sono disponibili due opzioni: Debug e Release. Usando la prima, oltre al programma vero e proprio viene generato un file PDB, nella stessa cartella dell'eseguibile, che contiene informazioni di debug sul progetto. Sul programma, inoltre, non vengono effettuate ottimizzazioni, dal momento che esse renderebbero più difficile il debug stesso. Con la configurazione Release, invece, non si genera il file PDB e il programma è completamente ottimizzato.
Una delle differenze più evidenti è dunque che un progetto compilato in configurazione Release genera un eseguibile più piccolo di quello creato a partire dallo stesso progetto ma in modalità Debug.
Di conseguenza, è bene usare la configurazione Debug quando si sviluppa un'applicazione, per poi passare alla configurazione Release quando si genera l'eseguibile da distribuire. Per passare da una modalità all'altra è possibile utilizzare l'apposita ComboBox nella barra degli strumenti standard.
Per distribuire un'applicazione realizzata con Visual Basic .NET non è più necessario inserire nel Registro di configurazione tutti i riferimenti agli oggetti ed ai controlli esterni utilizzati: è sufficiente copiare le dipendenze del programma, ad esempio i file DLL che contengono le Class Library riferite, nella stessa cartella dell'eseguibile principale: sarà poi il runtime a localizzarle e caricarle correttamente. Da questo punto di vista, quindi, l'installazione di un programma è notevolmente semplificata. Il rovescio della medaglia è che i programmi creati con Visual Basic .NET, allo stesso modo di quelli realizzati con C#, per funzionare necessitano del runtime del framework .NET: si tratta di un pacchetto di installazione delle dimensioni di circa 20 MB, fornito assieme a Visual Studio .NET e prelevabile anche sul sito Microsoft.
Questo rende difficoltosa la distribuzione di applicazioni via Internet per chi non dispone di connessioni a banda larga. D'altra parte, una volta installato tale runtime sarà possibile utilizzare tutti i programmi realizzati con gli strumenti di sviluppi inclusi in Visual Studio .NET.
Si conclude qui il nostro corso su Visual Basic .NET. Siamo partiti dall'analisi delle novità più significative di questo ambiente di sviluppo, per poi analizzare alcuni dei più importanti controlli standard messi a disposizione. Infine, ci siamo dedicati alle peculiarità del linguaggio, come la creazione di una Class Library e il suo utilizzo all'interno di altri progetti. Non è stato possibile approfondire molto i vari concetti esposti, a causa della mole di innovazioni introdotte, che rischiano persino di confondere chi non mai utilizzato altri linguaggi di programmazione. Il bagaglio di conoscenze acquisite costituisce comunque una solida base da cui è possibile partire per approfondire la conoscenza del nuovo ambiente e di tutte le sue funzionalità.