Introduzione a progetti e soluzioni
Questo articolo introduttivo illustra cosa significa creare una soluzione e un progetto in Visual Studio. Una soluzione è un contenitore per organizzare uno o più progetti di codice correlati, ad esempio un progetto di libreria di classi e un progetto di test corrispondente.
Come esercizio didattico per comprendere il concetto di progetto, si creerà una soluzione e un progetto da zero. In genere, è possibile usare i modelli di progetto di Visual Studio per creare nuovi progetti. Si esamineranno anche le proprietà di un progetto e alcuni dei file che può contenere e si creerà un riferimento da un progetto a un altro.
Nota
Lo sviluppo di app in Visual Studio non richiede soluzioni e progetti. È sufficiente aprire una cartella contenente codice e avviare la codifica, la compilazione e il debug. Ad esempio, un repository GitHub clonato potrebbe non contenere progetti e soluzioni di Visual Studio. Per altre informazioni, vedere Sviluppare codice in Visual Studio senza progetti o soluzioni.
Se Visual Studio 2019 non è già stato installato, passare alla pagina dei download di Visual Studio per installarlo gratuitamente.
Se non è ancora stato installato Visual Studio, accedere alla pagina Download di Visual Studio per installarlo gratuitamente.
Soluzioni e progetti
In Visual Studio una soluzione non è una "risposta". Una soluzione è semplicemente un contenitore usato da Visual Studio per organizzare uno o più progetti correlati. Quando si apre una soluzione, Visual Studio carica automaticamente tutti i progetti contenuti nella soluzione.
Creazione di una soluzione
Iniziare l'esplorazione creando una soluzione vuota. Dopo aver appreso Visual Studio, è probabile che non si creino spesso soluzioni vuote. Quando si crea un nuovo progetto, Visual Studio crea automaticamente una soluzione per il progetto, a meno che non sia già aperta una soluzione.
Aprire Visual Studio.
Nella finestra iniziale selezionare Crea un nuovo progetto.
Nella pagina Crea un nuovo progetto immettere una soluzione vuota nella casella di ricerca, selezionare il modello Soluzione vuota e quindi selezionare Avanti.
Suggerimento
Se sono installati diversi carichi di lavoro, il modello Soluzione vuota potrebbe non essere visualizzato nella parte superiore dell'elenco dei risultati della ricerca. Provare a scorrere fino ad Altri risultati in base alla sezione di ricerca dell'elenco. Dovrebbe apparire lì.
Assegnare alla soluzione il nome QuickSolution e quindi selezionare Crea.
Viene visualizzata una soluzione in Esplora soluzioni sul lato destro della finestra di Visual Studio. Esplora soluzioni viene usato di frequente, per visualizzare il contenuto dei progetti.
Aprire Visual Studio e nella finestra iniziale selezionare Crea un nuovo progetto.
Nella pagina Crea un nuovo progetto digitare una soluzione vuota nella casella di ricerca, selezionare il modello Soluzione vuota e quindi selezionare Avanti.
Suggerimento
Se sono installati diversi carichi di lavoro, il modello Soluzione vuota potrebbe non essere visualizzato nella parte superiore dell'elenco dei risultati della ricerca. Provare a scorrere altri risultati in base alla ricerca per trovare il modello.
Nella pagina Configura il nuovo progetto assegnare alla soluzione il nome QuickSolution e quindi selezionare Crea.
La soluzione QuickSolution viene visualizzata in Esplora soluzioni sul lato destro della finestra di Visual Studio. Si userà spesso Esplora soluzioni per esplorare il contenuto dei progetti.
Aggiungere un progetto
Aggiungere ora il primo progetto alla soluzione. Iniziare con un progetto vuoto e aggiungere gli elementi necessari.
Nel menu di scelta rapida o di scelta rapida della soluzione "QuickSolution" in Esplora soluzioni selezionare Aggiungi>nuovo progetto.
Viene visualizzata la finestra di dialogo Aggiungi un nuovo progetto.
Immettere il testo vuoto nella casella di ricerca nella parte superiore e quindi selezionare C# in Linguaggio.
Selezionare il modello Progetto vuoto (.NET Framework) e quindi selezionare Avanti.
Assegnare al progetto il nome QuickDate e quindi selezionare Crea.
Il progetto QuickDate appare sotto la soluzione in Esplora soluzioni. Attualmente contiene un unico file con nome App.config.
Nota
Se il modello Progetto vuoto (.NET Framework) non viene visualizzato, è necessario installare il carico di lavoro Sviluppo per desktop .NET di Visual Studio. Visual Studio usa l'installazione basata sul carico di lavoro per installare solo i componenti necessari per il tipo di sviluppo.
Un modo semplice per installare un nuovo carico di lavoro quando si crea un nuovo progetto consiste nel selezionare il collegamento Installa altri strumenti e funzionalità sotto il testo Non trovare quello che si sta cercando?. Dopo l'avvio di Programma di installazione di Visual Studio, selezionare il carico di lavoro Sviluppo di applicazioni desktop .NET e quindi il pulsante Modifica.
Fare clic con il pulsante destro del mouse su Soluzione 'QuickSolution' in Esplora soluzioni e scegliere Aggiungi>nuovo progetto dal menu di scelta rapida.
Nella pagina Aggiungi un nuovo progetto digitare vuoto nella casella di ricerca nella parte superiore e selezionare C# in Tutti i linguaggi.
Selezionare il modello Progetto vuoto C# (.NET Framework) e quindi selezionare Avanti.
Nota
Visual Studio usa l'installazione basata sul carico di lavoro per installare solo i componenti necessari per il tipo di sviluppo. Se non viene visualizzato il modello Progetto vuoto (.NET Framework), è necessario installare il carico di lavoro Sviluppo di applicazioni desktop .NET di Visual Studio.
Un modo semplice per installare un nuovo carico di lavoro quando si crea un nuovo progetto consiste nel selezionare il collegamento Installa altri strumenti e funzionalità sotto il testo Non trovare quello che si sta cercando?. Nella Programma di installazione di Visual Studio selezionare il carico di lavoro Sviluppo di applicazioni desktop .NET e quindi selezionare Modifica.
Nella pagina Configura il nuovo progetto assegnare al progetto il nome QuickDate e quindi selezionare Crea.
Il progetto QuickDate viene visualizzato sotto la soluzione in Esplora soluzioni. Il progetto contiene un nodo Riferimenti e un singolo file denominato App.config.
Aggiungere un elemento al progetto
Aggiungere un file di codice al progetto vuoto.
Scegliere Aggiungi>nuovo elemento dal menu di scelta rapida o dal menu di scelta rapida del progetto QuickDate in Esplora soluzioni.
Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento . Selezionare Mostra tutti i modelli se viene visualizzata la finestra di dialogo in visualizzazione compatta.
Espandere Elementi di Visual C# e quindi selezionare Codice. Nel riquadro centrale selezionare il modello Elemento classe . In Nome digitare Calendario e quindi selezionare Aggiungi.
Visual Studio aggiunge un file denominato Calendar.cs al progetto. Il file con estensione cs alla fine è l'estensione del file di codice C#. Il file Calendar.cs viene visualizzato nella gerarchia del progetto visivo Esplora soluzioni e il file viene aperto nell'editor.
Sostituire il contenuto del file Calendar.cs con il codice seguente:
using System; namespace QuickDate { internal class Calendar { static void Main(string[] args) { DateTime now = GetCurrentDate(); Console.WriteLine($"Today's date is {now}"); Console.ReadLine(); } internal static DateTime GetCurrentDate() { return DateTime.Now.Date; } } }
Non è necessario comprendere tutto ciò che il codice sta ancora facendo. Eseguire l'app premendo CTRL+F5 e verificare che l'app stampa la data odierna nella console o nell'output standard della finestra. Chiudere quindi la finestra della console.
Aggiungere un secondo progetto
Le soluzioni in genere contengono più progetti e questi progetti spesso si fanno riferimento l'uno all'altro. Alcuni progetti in una soluzione potrebbero essere librerie di classi, alcune potrebbero essere applicazioni eseguibili e alcuni potrebbero essere progetti di unit test o siti Web.
Per aggiungere un progetto di unit test alla soluzione, iniziare da un modello di progetto in modo da non dover aggiungere un altro file di codice al progetto.
Nel menu di scelta rapida o di scelta rapida della soluzione "QuickSolution" in Esplora soluzioni selezionare Aggiungi>nuovo progetto.
Nella finestra di dialogo Aggiungi un nuovo progetto immettere il testo unit test nella casella di ricerca nella parte superiore e quindi selezionare C# in Linguaggio.
Selezionare il modello di progetto Progetto unit test per .NET Core e quindi selezionare Avanti.
Nota
A partire da Visual Studio 2019 versione 16.9, il nome del modello di progetto MSTest è cambiato da MSTest Unit Test Project (.NET Core) a Progetto unit test. Diversi passaggi della creazione del progetto sono stati modificati in questo aggiornamento.
Assegnare al progetto il nome QuickTest e quindi selezionare Avanti.
Scegliere il framework di destinazione consigliato (.NET Core 3.1) o .NET 5 e quindi scegliere Crea.
Viene aggiunto un secondo progetto a Esplora soluzioni e nell'editor viene aperto un file con nome UnitTest1.cs.
Nel menu di scelta rapida o di scelta rapida della soluzione "QuickSolution" in Esplora soluzioni selezionare Aggiungi>nuovo progetto.
Nella finestra di dialogo Aggiungi un nuovo progetto digitare unit test nella casella di ricerca nella parte superiore e quindi selezionare C# in Tutti i linguaggi.
Selezionare il modello di progetto Progetto unit test C# (.NET Framework) e quindi selezionare Avanti.
Nella pagina Configura il nuovo progetto assegnare al progetto il nome QuickTest e quindi selezionare Crea.
Visual Studio aggiunge il progetto QuickTest a Esplora soluzioni e il file UnitTest1.cs viene aperto nell'editor.
Aggiungere un riferimento al progetto
Si userà il nuovo progetto di unit test per testare il metodo nel progetto QuickDate , quindi è necessario aggiungere un riferimento a QuickDate al progetto QuickTest . L'aggiunta del riferimento crea una dipendenza di compilazione tra i due progetti, ovvero quando si compila la soluzione, QuickDate compila prima di QuickTest.
Selezionare il nodo Dipendenze nel progetto QuickTest e scegliere Aggiungi riferimento progetto dal menu di scelta rapida o dal menu di scelta rapida.
Viene visualizzata la finestra di dialogo Gestione riferimenti.
Nel riquadro sinistro espandere Progetti e quindi selezionare Soluzione. Nel riquadro centrale selezionare la casella di controllo accanto a QuickDate e quindi selezionare OK.
Viene aggiunto un riferimento al progetto QuickDate.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo Riferimenti del progetto QuickTest e scegliere Aggiungi riferimento dal menu di scelta rapida.
Nella finestra di dialogo Gestione riferimenti selezionare Progetti. Nel riquadro centrale selezionare la casella di controllo accanto a QuickDate e quindi selezionare OK.
Un riferimento al progetto QuickDate viene visualizzato sotto il progetto QuickTest in Esplora soluzioni.
Aggiungere codice di test
Aggiungere ora il codice di test al file di codice di test C#. Sostituire il contenuto di UnitTest1.cs con il codice seguente:
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace QuickTest { [TestClass] public class UnitTest1 { [TestMethod] public void TestGetCurrentDate() { Assert.AreEqual(DateTime.Now.Date, QuickDate.Calendar.GetCurrentDate()); } } }
Sotto parte del codice viene visualizzata una sottolineatura ondulata rossa. È possibile correggere questo errore rendendo il progetto di test un assembly friend nel progetto QuickDate.
Nel file Calendar.cs aggiungere l'istruzione using e InternalsVisibleToAttribute l'attributo seguenti all'inizio del file per risolvere l'errore nel progetto di test.
using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("QuickTest")]
Il codice Calendar.cs dovrebbe essere simile a questo screenshot:
Eseguire lo unit test
Per verificare che lo unit test funzioni, scegliere Test>Esegui tutti i test dalla barra dei menu. Viene visualizzata la finestra Esplora test e si noterà che il test TestGetCurrentDate viene superato.
Suggerimento
È anche possibile aprire Esplora test scegliendo Esplora>test dalla barra dei menu.
Proprietà del progetto
La riga nel file Calendar.cs che contiene l'attributo fa riferimento al nome dell'assembly InternalsVisibleToAttribute o al nome file del progetto QuickTest . Il nome assembly può non corrispondere al nome del progetto. Per trovare il nome dell'assembly di un progetto, usare le proprietà del progetto. Le pagine proprietà contengono varie impostazioni per il progetto.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto QuickTest e scegliere Proprietà oppure selezionare il progetto e premere ALT+INVIO.
Le pagine delle proprietà per il progetto sono aperte alla scheda Applicazione. Il nome assembly del progetto QuickTest è effettivamente QuickTest.
Se si vuole, è possibile modificare il nome qui. Quando si compila il progetto di test, il nome del file binario risultante passa quindi da QuickTest.dll a <NewName.dll>.
Esplorare le altre schede delle pagine delle proprietà del progetto, ad esempio Compilazione e Debug. Queste schede variano a seconda del tipo di progetto.