Lär dig mer om projekt och lösningar med Visual Basic

I den här introduktionsartikeln ska vi utforska vad det innebär att skapa en lösning och ett projekt i Visual Studio. En lösning är en container som används för att organisera ett eller flera relaterade kodprojekt, till exempel ett klassbiblioteksprojekt och ett motsvarande testprojekt. Vi tittar på egenskaperna för ett projekt och några av filerna som det kan innehålla. Vi skapar också en referens från ett projekt till ett annat.

Tips/Råd

Om du inte redan har installerat Visual Studio går du till Visual Studio-nedladdningar sidan för att installera den kostnadsfritt.

Vi skapar en lösning och ett projekt från grunden som en utbildningsövning för att förstå begreppet projekt. I din allmänna användning av Visual Studio använder du förmodligen några av de olika projektmallar som Visual Studio erbjuder när du skapar ett nytt projekt.

Anmärkning

Lösningar och projekt krävs inte för att utveckla appar i Visual Studio. Du kan också bara öppna en mapp som innehåller kod och börja koda, skapa och felsöka. Om du till exempel klonar en GitHub-lagringsplats kanske den inte innehåller Visual Studio-projekt och -lösningar. Mer information finns i Utveckla kod i Visual Studio utan projekt eller lösningar.

Lösningar och projekt

Trots namnet är en lösning inte ett "svar". En lösning är helt enkelt en container som används av Visual Studio för att organisera ett eller flera relaterade projekt. När du öppnar en lösning i Visual Studio läses alla projekt som lösningen innehåller automatiskt in.

Skapa en lösning

Vi börjar vår utforskning genom att skapa en tom lösning. När du har lärt känna Visual Studio kommer du förmodligen inte att skapa tomma lösningar ofta. När du skapar ett nytt projekt skapar Visual Studio automatiskt en lösning som rymmer projektet om det inte redan finns en lösning öppen.

  1. Öppna Visual Studio.

  2. I startfönstret väljer du Skapa ett nytt projekt.

  3. På sidan Skapa ett nytt projekt anger du en tom lösning i sökrutan, väljer mallen Tom lösning och väljer sedan Nästa.

    Skärmbild som visar fönstret Skapa ett nytt projekt med

  4. Ge lösningen namnet QuickSolution och välj sedan Skapa.

    En lösning visas i Solution Explorer till höger i Visual Studio-fönstret. Du använder förmodligen Solution Explorer ofta för att bläddra i innehållet i dina projekt.

  1. Öppna Visual Studio.

  2. I startfönstret väljer du Skapa ett nytt projekt.

  3. På sidan Skapa ett nytt projekt anger du en tom lösning i sökrutan, väljer mallen Tom lösning och väljer sedan Nästa.

    Skärmbild som visar fönstret Skapa ett nytt projekt med

  4. Ge lösningen namnet QuickSolution och välj sedan Skapa.

    En lösning visas i Solution Explorer till höger i Visual Studio-fönstret. Du använder förmodligen Solution Explorer ofta för att bläddra i innehållet i dina projekt.

Lägga till ett projekt

Nu ska vi lägga till vårt första projekt i lösningen. Vi börjar med ett tomt projekt och lägger till de objekt som vi behöver i projektet.

  1. Från snabbmenyn eller snabbmenyn i > i Solution Explorer, välj Lägg tillnytt projekt.

    En dialogruta öppnas med texten Lägg till ett nytt projekt.

  2. Ange texten tom i sökrutan längst upp och välj sedan Visual Basic under Språk.

  3. Välj mallen Tomt projekt (.NET Framework) och välj sedan Nästa.

  4. Ge projektet namnet QuickDate och välj sedan Skapa.

    Ett projekt med namnet QuickDate visas under lösningen i Solution Explorer. För närvarande innehåller den en enda fil med namnet App.config.

    Anmärkning

    Om du inte ser mallen Empty Project (.NET Framework) måste du installera Visual Studio-arbetsbelastningenför .NET-skrivbordsutveckling. Visual Studio använder arbetsbelastningsbaserad installation för att endast installera de komponenter du behöver för den typ av utveckling du gör. Ett enkelt sätt att installera en ny arbetsbelastning när du skapar ett nytt projekt är att välja länken Installera fler verktyg och funktioner under texten Som säger Att du inte hittar det du letar efter?. När Visual Studio Installer har lanserats väljer du arbetsbelastningen .NET Desktop Development och sedan knappen Ändra .

    Skärmbild som visar fönstret Skapa ett nytt projekt med länken Installera fler verktyg och funktioner markerad.

  1. Välj alternativet Lägg till>nytt projekt från snabbmenyn för Solution 'QuickSolution' i Solution Explorer.

    En dialogruta öppnas med texten Lägg till ett nytt projekt.

  2. Ange texten tom i sökrutan överst och välj sedan Visual Basic i listrutan Alla språk .

  3. Välj mallen Tomt projekt (.NET Framework) och välj sedan Nästa.

  4. Ge projektet namnet QuickDate och välj sedan Skapa.

    Ett projekt med namnet QuickDate visas under lösningen i Solution Explorer. För närvarande innehåller den en enda fil med namnet App.config.

    Anmärkning

    Om du inte ser mallen Empty Project (.NET Framework) måste du installera Visual Studio-arbetsbelastningenför .NET-skrivbordsutveckling. Visual Studio använder arbetsbelastningsbaserad installation för att endast installera de komponenter du behöver för den typ av utveckling du gör. Ett enkelt sätt att installera en ny arbetsbelastning när du skapar ett nytt projekt är att välja länken Installera fler verktyg och funktioner under texten Som säger Att du inte hittar det du letar efter?. När Visual Studio Installer har lanserats väljer du arbetsbelastningen .NET Desktop Development och sedan knappen Ändra .

    Skärmbild som visar fönstret Skapa ett nytt projekt med länken Installera fler verktyg och funktioner markerad.

Lägga till ett objekt i projektet

Vi har ett tomt projekt. Nu ska vi lägga till en kodfil.

  1. Välj Lägg tillnytt objekt på snabbmenyn i > i Solution Explorer.

    Dialogrutan Lägg till nytt objekt öppnas.

  2. Expandera Vanliga objekt och välj sedan Kod. I mittenfönstret väljer du mallen Klassobjekt . Ge klassen namnet Kalender och välj sedan knappen Lägg till .

    En fil med namnet Calendar.vb läggs till i projektet. Den .vb i slutet är filnamnstillägget som ges till Visual Basic-kodfiler. Filen visas i den visuella projekthierarkin i Solution Explorer och dess innehåll öppnas i redigeraren.

  3. Ersätt innehållet i Calendar.vb-filen med följande kod:

    Class Calendar
        Public Shared Function GetCurrentDate() As Date
            Return DateTime.Now.Date
        End Function
    End Class
    

    Klassen Calendar innehåller en enda funktion, GetCurrentDate, som returnerar det aktuella datumet.

  4. Öppna projektegenskaperna genom att dubbelklicka på Mitt projekt i Solution Explorer. På fliken Program ändrar du Programtyp till Klassbibliotek. Det här steget är nödvändigt för att bygga projektet framgångsrikt.

  5. Skapa projektet genom att högerklicka på QuickDate i Solution Explorer och välja Skapa. Du bör se ett lyckat byggmeddelande i utdatafönstret .

    Skärmbild av utdatafönstret i Visual Studio.

Lägga till ett andra projekt

Det är vanligt att lösningar innehåller fler än ett projekt, och ofta refererar dessa projekt till varandra. Vissa projekt i en lösning kan vara klassbibliotek, vissa körbara program och vissa kan vara enhetstestprojekt eller webbplatser.

Nu ska vi lägga till ett enhetstestprojekt i vår lösning. Den här gången börjar vi från en projektmall så att vi inte behöver lägga till ytterligare en kodfil i projektet.

  1. I snabbmenyn eller snabbmenyn för Solution 'QuickSolution' i Solution Explorer, välj Lägg till>nytt projekt.
  1. I dialogrutan Lägg till ett nytt projekt anger du textenhetstestet i sökrutan längst upp och väljer sedan Visual Basic under Språk.

  2. Välj projektmallen Unit Test Project (.NET Framework) och välj sedan Nästa.

  3. Ge projektet namnet QuickTest och välj sedan Skapa.

    Ett andra projekt läggs till i Solution Explorer och en fil med namnet UnitTest1.vb öppnas i redigeraren.

  1. I dialogrutan Lägg till ett nytt projekt anger du textenhetstestet i sökrutan överst och väljer sedan Visual Basic i listrutan Alla språk .

  2. Välj projektmallen Unit Test Project (.NET Framework) och välj sedan Nästa.

  3. Ge projektet namnet QuickTest och välj sedan Skapa.

    Ett andra projekt läggs till i Solution Explorer och en fil med namnet UnitTest1.vb öppnas i redigeraren.

Lägga till en projektreferens

Vi ska använda det nya enhetstestprojektet för att testa vår metod i QuickDate-projektet , så vi måste lägga till en referens till det projektet. Referensen skapar ett byggberoende mellan de två projekten, vilket innebär att QuickDate skapas före QuickTest när du skapar lösningen.

  1. Välj noden Referenser i QuickTest-projektet och välj Lägg till referens i snabbmenyn eller högerklicka.

    Skärmbild som visar snabbmenyn för noden Referenser i QuickTest-projektet med alternativet Lägg till referens markerat.

    Dialogrutan Referenshanteraren öppnas.

  2. I den vänstra rutan expanderar du Projekt och väljer Lösning. I den mellersta rutan väljer du kryssrutan bredvid QuickDate och väljer sedan knappen OK .

    En referens till QuickDate-projektet läggs till.

  1. Välj noden Referenser i QuickTest-projektet och välj Lägg till referens i snabbmenyn eller högerklicka.

    Skärmbild som visar snabbmenyn för noden Referenser i QuickTest-projektet med alternativet Lägg till referens markerat.

    Dialogrutan Referenshanteraren öppnas.

  2. I den vänstra rutan expanderar du Projekt och väljer Lösning. I den mellersta rutan väljer du kryssrutan bredvid QuickDate och väljer sedan knappen OK .

    En referens till QuickDate-projektet läggs till.

Lägga till testkod

  1. Nu ska vi lägga till testkod i Visual Basic-kodfilen. Ersätt innehållet i UnitTest1.vb med följande kod.

    <TestClass()> Public Class UnitTest1
    
        <TestMethod()> Public Sub TestGetCurrentDate()
            Assert.AreEqual(Date.Now.Date, QuickDate.Calendar.GetCurrentDate())
        End Sub
    
    End Class
    

    Du ser en röd vågig linje under några delar av koden. Vi åtgärdar det här felet genom att göra testprojektet till en vänsammansättning till QuickDate-projektet .

  2. Tillbaka i QuickDate-projektet, öppna filen Calendar.vb om den inte redan är öppen. Lägg till följande importuttryck och InternalsVisibleToAttribute attribut, så att felet i testprojektet löses.

    Imports System.Runtime.CompilerServices
    
    <Assembly: InternalsVisibleTo("QuickTest")>
    

    Kodfilen bör se ut så här:

    Skärmbild som visar koden för Calendar.vb i visual basic-kodredigerarens fönster efter att attributraderna Importer och Sammansättning har lagts till.

  1. Nu ska vi lägga till testkod i Visual Basic-kodfilen. Ersätt innehållet i UnitTest1.vb med följande kod.

    <TestClass()> Public Class UnitTest1
    
        <TestMethod()> Public Sub TestGetCurrentDate()
            Assert.AreEqual(Date.Now.Date, QuickDate.Calendar.GetCurrentDate())
        End Sub
    
    End Class
    

    Du ser en röd vågig markering under några delar av koden. Vi åtgärdar det här felet genom att göra testprojektet till en vänsammansättning till QuickDate-projektet .

  2. Tillbaka i QuickDate-projektet, öppna filen Calendar.vb om den inte redan är öppen, och lägg till följande importuttryck och InternalsVisibleToAttribute attribut för att lösa felet i testprojektet.

    Imports System.Runtime.CompilerServices
    
    <Assembly: InternalsVisibleTo("QuickTest")>
    

    Kodfilen bör se ut så här:

    Skärmbild som visar koden för Calendar.vb i visual basic-kodredigerarens fönster efter att attributraderna Importer och Sammansättning har lagts till.

Projektegenskaper

Raden i Calendar.vb-filen som innehåller attributet refererar till sammansättningsnamnet InternalsVisibleToAttribute (filnamnet) för QuickTest-projektet . Sammansättningsnamnet kanske inte alltid är samma som projektnamnet. Om du vill hitta sammansättningsnamnet för ett projekt öppnar du projektegenskaperna.

  1. I Solution Explorer väljer du Projektet QuickTest . Välj Egenskaper i snabbmenyn eller högerklicka eller tryck bara på Alt+Retur. (Du kan också dubbelklicka på Mitt projekt i Solution Explorer.)

    Egenskapssidorna för projektet öppnas på fliken Program. Egenskapssidorna innehåller olika inställningar för projektet. Observera att sammansättningsnamnet för QuickTest-projektet verkligen är "QuickTest". Om du ville ändra assembly-namnet så skulle du göra det här. När du sedan skapar testprojektet ändras namnet på den resulterande binära filen från QuickTest.dll till det du har valt.

    Skärmbild som visar fliken Program på egenskapssidorna för QuickTest-projektet. Fältet Sammansättningsnamn är markerat och värdet är

  2. Utforska några av de andra flikarna på projektets egenskapssidor, till exempel Kompilering och Inställningar. De här flikarna skiljer sig åt för olika typer av projekt.

Raden i den Calendar.vb fil som innehåller attributet refererar till sammansättningsnamnet InternalsVisibleToAttribute (filnamnet) för QuickTest-projektet . Sammansättningsnamnet kanske inte alltid är samma som projektnamnet. Om du vill hitta sammansättningsnamnet för ett projekt öppnar du projektegenskaperna.

  1. I Solution Explorer väljer du Projektet QuickTest . Välj Egenskaper i snabbmenyn eller högerklicka eller tryck bara på Alt+Retur. (Du kan också dubbelklicka på Mitt projekt i Solution Explorer.)

    Egenskapssidorna för projektet öppnas på fliken Program. Egenskapssidorna innehåller olika inställningar för projektet. Observera att sammansättningsnamnet för QuickTest-projektet verkligen är "QuickTest". Om du vill ändra sammansättningsnamnet skulle du göra det här. När du sedan skapar testprojektet ändras namnet på den resulterande binära filen från QuickTest.dll till det du har valt.

    Skärmbild som visar fliken Program på egenskapssidorna för QuickTest-projektet. Fältet Sammansättningsnamn är markerat och värdet är

  2. Utforska några av de andra flikarna på projektets egenskapssidor, till exempel Kompilering och Inställningar. De här flikarna skiljer sig åt för olika typer av projekt.

(Valfritt) Kör testet

Om du vill kontrollera att enhetstestet fungerar väljer du Testa>Kör>alla tester på menyraden. Ett fönster med namnet Test Explorer öppnas och du bör se att TestGetCurrentDate-testet godkänns.

Skärmbild av testutforskaren i Visual Studio som visar att TestGetCurrentDate-testet har godkänts.

Tips/Råd

Om Test Explorer inte öppnas automatiskt öppnar du det genom att välja Testa>Windows>Test Explorer från menyraden.

Om du vill kontrollera att enhetstestet fungerar väljer du Testa>Kör alla tester på menyraden. Ett fönster med namnet Test Explorer öppnas och du bör se att TestGetCurrentDate-testet godkänns.

Skärmbild av testutforskaren i Visual Studio som visar att TestGetCurrentDate-testet har godkänts.

Tips/Råd

Om Test Explorer inte öppnas automatiskt öppnar du det genom att välja Testa>Windows>Test Explorer från menyraden.

Nästa steg

Om du vill utforska Visual Studio ytterligare kan du överväga att skapa en app genom att följa någon av visual basic-självstudierna.

Se även