Inleiding tot projecten en oplossingen
In deze zelfstudie verkent u wat het betekent om een oplossing te maken en een project in Visual Studio. Een oplossing is een container voor het organiseren van een of meer gerelateerde codeprojecten, zoals een klassebibliotheekproject en een bijbehorend testproject. U maakt een verwijzing van het ene project naar het andere in een oplossing. In deze zelfstudie worden ook de eigenschappen van een project en een aantal bestanden beschreven die het kan bevatten.
Als oefening om het concept van een project te begrijpen, maakt u een volledig nieuwe oplossing en een volledig nieuw project. Normaal gesproken gebruikt u Visual Studio-project sjablonen om nieuwe projecten te maken.
In deze zelfstudie leert u het volgende:
- Een item toevoegen aan het project
- Een tweede project toevoegen
- Een projectreferentie toevoegen
- Testcode toevoegen
- Projecteigenschappen weergeven
Voorwaarden
- Als u Visual Studio 2019 niet hebt, gaat u naar Visual Studio-downloads om deze gratis te installeren.
- Als u Visual Studio niet hebt, gaat u naar Visual Studio downloads om het gratis te installeren.
Oplossingen en projecten
In Visual Studio is een oplossing geen antwoord. Een oplossing is gewoon een container die Visual Studio gebruikt om een of meer gerelateerde projecten te organiseren. Wanneer u een oplossing opent, worden in Visual Studio automatisch alle projecten geladen die de oplossing bevat.
Notitie
Voor het ontwikkelen van apps in Visual Studio zijn geen oplossingen en projecten vereist. U kunt gewoon een map openen die code bevat en coderen, bouwen en foutopsporing starten. Een gekloonde GitHub opslagplaats bevat bijvoorbeeld mogelijk geen Visual Studio-projecten en -oplossingen. Zie Code ontwikkelen in Visual Studio zonder projecten of oplossingenvoor meer informatie.
Een oplossing maken
Start uw verkenning door een lege oplossing te maken. Nadat u Visual Studio hebt leren kennen, zult u waarschijnlijk niet vaak lege oplossingen maken. Wanneer u een nieuw project maakt, wordt in Visual Studio automatisch een oplossing voor het project gemaakt, tenzij er al een oplossing is geopend.
Open Visual Studio.
Selecteer in het startvenster Een nieuw project maken.
Op de pagina Nieuw project maken, voer blanco oplossing in in het zoekvak, selecteer de sjabloon Blanco Oplossing en selecteer vervolgens Volgende.
Fooi
Als er verschillende workloads zijn geïnstalleerd, wordt de lege oplossing sjabloon mogelijk niet boven aan de lijst met zoekresultaten weergegeven. Scroll naar de sectie Andere resultaten op basis van uw zoekopdracht van de lijst. Het moet daar worden weergegeven.
Noem de oplossing QuickSolution, en selecteer Maken.
Er wordt een oplossing weergegeven in Solution Explorer aan de rechterkant van het Visual Studio-venster. U gebruikt waarschijnlijk Solution Explorer vaak om door de inhoud van uw projecten te bladeren.
Open Visual Studio en selecteer in het startvenster Een nieuw project maken.
Typ op de pagina Een nieuw project maken lege oplossing in het zoekvak, selecteer de sjabloon Lege oplossing en selecteer vervolgens Volgende.
Fooi
Als er verschillende workloads zijn geïnstalleerd, wordt de lege oplossing sjabloon mogelijk niet boven aan de lijst met zoekresultaten weergegeven. Blader door Andere resultaten op basis van uw zoekopdracht om de sjabloon te vinden.
Geef op de pagina Uw nieuwe project configureren de oplossing de naam QuickSolution, en selecteer dan Maken.
De oplossing QuickSolution wordt weergegeven in Solution Explorer aan de rechterkant van het Visual Studio-venster. U gebruikt Solution Explorer vaak om door de inhoud van uw projecten te bladeren.
Een project toevoegen
Voeg nu uw eerste project toe aan de oplossing. Begin met een leeg project en voeg de items toe die u nodig hebt.
Klik in Solution Explorermet de rechtermuisknop op Solution 'QuickSolution'. Selecteer in het contextmenu Toevoegen>Nieuw Project.
Er wordt een dialoogvenster geopend met de tekst Een nieuw project toevoegen.
Typ de tekst leeg in het zoekvak bovenaan en selecteer vervolgens C# onder Taal.
Selecteer de sjabloon Leeg project (.NET Framework) en selecteer vervolgens Volgende.
Geef het project de naam QuickDateen selecteer maken.
Er wordt een project met de naam QuickDate weergegeven onder de oplossing in Solution Explorer. Het bevat momenteel één bestand met de naam App.config.
Notitie
Als u de Lege projectsjabloon (.NET Framework) niet ziet, moet u de .NET-bureaubladontwikkeling Visual Studio-workload installeren. Visual Studio maakt gebruik van installatie op basis van workloads om alleen de onderdelen te installeren die u nodig hebt voor het type ontwikkeling dat u doet.
Een eenvoudige manier om een nieuwe workload te installeren wanneer u een nieuw project maakt, is het selecteren van de Meer hulpprogramma's en functies installeren koppeling onder de tekst met de tekst Niet vinden wat u zoekt?. Nadat Visual Studio Installer is gestart, selecteert u de .NET-desktopontwikkeling workload en vervolgens de knop Wijzigen.
Klik in Solution Explorermet de rechtermuisknop op Solution 'QuickSolution'. Selecteer in het contextmenu Toevoegen>Nieuw Project.
Typ op de pagina Een nieuw project toevoegenlege in het zoekvak bovenaan en selecteer C#- onder Alle talen.
Selecteer de sjabloon C# Leeg project (.NET Framework) en selecteer vervolgens Volgende.
Notitie
Visual Studio maakt gebruik van installatie op basis van workloads om alleen de onderdelen te installeren die u nodig hebt voor het type ontwikkeling dat u doet. Als u de sjabloon Empty Project (.NET Framework) niet ziet, installeer dan de Visual Studio-werkbelasting voor .NET-desktopontwikkeling.
Een eenvoudige manier om een nieuwe workload te installeren wanneer u een nieuw project maakt, is door de koppeling Installeer meer tools en functies onder de tekst Kunt u niet vinden wat u zoekt?te selecteren. Selecteer in het installatieprogramma van Visual Studio de .NET-bureaubladontwikkeling workload en selecteer vervolgens Wijzigen.
Geef op de pagina Uw nieuwe project configureren de naam van het project QuickDate-en selecteer vervolgens maken.
Het project QuickDate wordt weergegeven onder de oplossing in Solution Explorer-. Het project bevat een Verwijzingen knooppunt en één bestand met de naam App.config.
Een item toevoegen aan het project
Voeg een codebestand toe aan uw lege project.
Klik in Solution Explorer-met de rechtermuisknop op het project QuickDate. Selecteer in het contextmenu Nieuw item toevoegen>.
Het dialoogvenster Nieuw item toevoegen wordt geopend. Selecteer Alle sjablonen weergeven als het dialoogvenster wordt geopend in de compacte weergave.
Vouw Visual C#-itemsuit en selecteer Code. Selecteer in het middelste deelvenster de itemsjabloon Klasse. Typ onder NaamAgendaen selecteer toevoegen.
Visual Studio voegt een bestand met de naam Calendar.cs toe aan het project. De
.cs
aan het einde is de bestandsextensie voor C#-codebestanden. Het bestand Calendar.cs wordt weergegeven in de Solution Explorer visuele projecthiërarchie en het bestand wordt geopend in de editor.Vervang de inhoud van het bestand Calendar.cs door de volgende code:
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; } } }
U hoeft nog niet alles te begrijpen wat de code doet. Voer de app uit door op Ctrl+F5te drukken. De app drukt de datum van vandaag af op de consoleof standaarduitvoervenster. Sluit vervolgens het consolevenster.
Een tweede project toevoegen
Oplossingen bevatten vaak meer dan één project en deze projecten verwijzen vaak naar elkaar. Sommige projecten in een oplossing zijn mogelijk klassebibliotheken, sommige kunnen uitvoerbare toepassingen zijn en sommige zijn mogelijk eenheidstestprojecten of websites.
Als u een eenheidstestproject aan uw oplossing wilt toevoegen, begint u met een projectsjabloon, zodat u geen ander codebestand aan het project hoeft toe te voegen.
Klik in Solution Explorermet de rechtermuisknop op Solution 'QuickSolution'. Selecteer in het contextmenu Voeg>Nieuw Project.
Voer in het dialoogvenster Een nieuw project toevoegen de tekst unittest in het zoekvak bovenaan in en selecteer vervolgens C# onder Taal.
Selecteer het -eenheidstestproject projectsjabloon voor .NET Core en selecteer vervolgens Volgende.
Notitie
Vanaf Visual Studio 2019 versie 16.9 is de naam van de MSTest-projectsjabloon gewijzigd van MSTest Unit Test Project (.NET Core) in Unit Test Project. Verschillende stappen in het maken van het project zijn in deze update gewijzigd.
Noem het project QuickTesten selecteer Volgende.
Kies het aanbevolen doelframework (.NET Core 3.1) of .NET 5 en kies vervolgens Creëren.
Er wordt een tweede project toegevoegd aan Solution Explorer-en er wordt een bestand met de naam UnitTest1.cs geopend in de editor.
Klik in Solution Explorermet de rechtermuisknop op Solution 'QuickSolution'. Selecteer in het contextmenu Voeg>Nieuw Project.
Typ in het dialoogvenster Een nieuw project toevoegeneenheidstest in het zoekvak bovenaan en selecteer vervolgens C# onder Alle talen.
Selecteer het C# Unit Test Project (.NET Framework) projectsjabloon en selecteer vervolgens Volgende.
Geef op de pagina Uw nieuwe project configureren de naam van het project QuickTest-en selecteer vervolgens maken.
Visual Studio voegt het project QuickTest toe aan Solution Explorer-en het bestand UnitTest1.cs wordt geopend in de editor.
Een projectreferentie toevoegen
Als u het nieuwe eenheidstestproject wilt gebruiken om uw methode in het project QuickDate te testen, moet u een verwijzing toevoegen naar QuickDate- aan het QuickTest-project. Door de verwijzing toe te voegen, ontstaat er een build-afhankelijkheid tussen de twee projecten. Wanneer u de oplossing samenstelt, wordt QuickDate opgebouwd voordat QuickTestwordt opgebouwd.
Klik met de rechtermuisknop op het knooppunt Afhankelijkheden in het project QuickTest. Selecteer in het contextmenu Projectreferentie toevoegen.
Het dialoogvenster Reference Manager wordt geopend.
Vouw in het linkerdeelvenster Projectenuit en selecteer Solution. Schakel het selectievakje naast QuickDatein het middelste deelvenster in en selecteer vervolgens OK.
Er wordt een verwijzing naar het project QuickDate toegevoegd.
Klik in Solution Explorer-met de rechtermuisknop op het knooppunt Verwijzingen van het project QuickTest. Selecteer in het contextmenu de optie Referentie toevoegen.
Selecteer in het Reference Manager-dialoogvenster Projects. Schakel het selectievakje naast QuickDatein het middelste deelvenster in en selecteer vervolgens OK.
Een verwijzing naar het project QuickDate wordt weergegeven onder het project QuickTest in Solution Explorer-.
Testcode toevoegen
Voeg nu testcode toe aan het C#-testcodebestand. Vervang de inhoud van UnitTest1.cs door de volgende code:
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()); } } }
Er wordt een rode kronkel weergegeven onder een deel van de code. U kunt deze fout oplossen door het testproject een vriendassembly te maken naar het QuickDate-project.
Voeg in het Calendar.cs-bestand de volgende toe met behulp van de instructie en InternalsVisibleToAttribute kenmerk boven aan het bestand om de fout in het testproject op te lossen.
using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("QuickTest")]
De Calendar.cs-code moet er als volgt uitzien:
De eenheidstest uitvoeren
Als u wilt controleren of de eenheidstest werkt, kiest u in de menubalk Test>Alle tests uitvoeren. Het venster Test Explorer wordt geopend en u ziet dat de TestGetCurrentDate test geslaagd is.
Fooi
U kunt Test Explorer- ook openen door Test>Test Explorer te kiezen in de menubalk.
Projecteigenschappen
De regel in het Calendar.cs-bestand met het kenmerk InternalsVisibleToAttribute verwijst naar de assemblynaam of bestandsnaam van het QuickTest-project. De assemblynaam is mogelijk niet altijd hetzelfde als de projectnaam. Gebruik de projecteigenschappen om de assemblynaam van een project te vinden. De eigenschappenpagina's bevatten verschillende instellingen voor het project.
Klik in Solution Explorer-met de rechtermuisknop op het project QuickTest en selecteer Eigenschappen, of selecteer het project en druk op Alt+Enter-.
De eigenschappenpagina's voor het project worden geopend op het tabblad Toepassing. De Assemblynaam van het QuickTest-project is inderdaad QuickTest-.
Desgewenst kunt u de naam hier wijzigen. Wanneer u het testproject bouwt, wordt de naam van het resulterende binaire bestand gewijzigd van QuickTest.dll in <NewName>.dll.
Bekijk enkele van de andere tabbladen van de eigenschappenpagina's van het project, zoals Build en Debug. Deze tabbladen zijn verschillend voor verschillende soorten projecten.