Einführung in Projekte und Lösungen

In diesem Lernprogramm erfahren Sie, was es bedeutet, eine Lösung und ein Projekt in Visual Studio zu erstellen. Eine Lösung ist ein Container zum Organisieren eines oder mehrerer verwandter Codeprojekte, z. B. eines Klassenbibliotheksprojekts und eines entsprechenden Testprojekts. Sie erstellen einen Verweis von einem Projekt zu einem anderen in einer Lösung. In diesem Lernprogramm werden auch die Eigenschaften eines Projekts und einige der darin enthaltenen Dateien beschrieben.

Als Übung, um das Konzept eines Projekts zu verstehen, erstellen Sie eine Lösung und ein Projekt von Grund auf neu. Normalerweise verwenden Sie Visual Studio-Projekt Vorlagen zum Erstellen neuer Projekte.

In diesem Lernprogramm erfahren Sie, wie Sie:

  • Hinzufügen eines Elements zum Projekt
  • Hinzufügen eines zweiten Projekts
  • Hinzufügen eines Projektverweises
  • Hinzufügen von Testcode
  • Projekteigenschaften anzeigen

Voraussetzungen

  • Wenn Sie nicht über Visual Studio 2019 verfügen, wechseln Sie zu Visual Studio-Downloads, um es kostenlos zu installieren.
  • Wenn Sie nicht über Visual Studio verfügen, wechseln Sie zu Visual Studio downloads, um es kostenlos zu installieren.

Lösungen und Projekte

In Visual Studio ist eine Projektmappe keine Antwort. Eine Lösung ist einfach ein Container, den Visual Studio zum Organisieren eines oder mehrerer verwandter Projekte verwendet. Wenn Sie eine Projektmappe öffnen, lädt Visual Studio automatisch alle Projekte, die die Projektmappe enthält.

Anmerkung

Für das Entwickeln von Apps in Visual Studio sind keine Lösungen und Projekte erforderlich. Sie können einfach einen Ordner öffnen, der Code enthält, und mit dem Codieren, Erstellen und Debuggen beginnen. Beispielsweise enthält ein geklontes GitHub--Repository möglicherweise keine Visual Studio-Projekte und -Lösungen. Weitere Informationen finden Sie unter Entwickeln von Code in Visual Studio ohne Projekte oder Lösungen.

Erstellen einer Lösung

Beginnen Sie Ihre Erkundung, indem Sie eine leere Lösung erstellen. Nachdem Sie Visual Studio kennen lernen, erstellen Sie wahrscheinlich keine leeren Lösungen häufig. Wenn Sie ein neues Projekt erstellen, erstellt Visual Studio automatisch eine Projektmappe für das Projekt, wenn noch keine Projektmappe geöffnet ist.

  1. Öffnen Sie Visual Studio.

  2. Wählen Sie im Startfenster Neues Projekt erstellenaus.

  3. Geben Sie auf der Seite Neues Projekt erstellen im Suchfeld leere Projektmappe ein, wählen Sie die Vorlage Leere Projektmappe aus, und klicken Sie dann auf Weiter.

    Screenshot, das eine in Visual Studio 2019 ausgewählte leere Lösungsvorlage zeigt.

    Tipp

    Wenn Sie mehrere Workloads installiert haben, könnte die Vorlage Leere Lösung möglicherweise nicht zuoberst in Ihren Suchergebnissen angezeigt werden. Scrollen Sie in der Liste zum Abschnitt Andere Ergebnisse basierend auf Ihrer Suche. Es sollte dort erscheinen.

  4. Nennen Sie die Lösung QuickSolution, und klicken Sie dann auf Erstellen.

    Eine Lösung wird im Lösungsexplorer auf der rechten Seite des Visual Studio-Fensters angezeigt. Wahrscheinlich verwenden Sie Projektmappen-Explorer häufig, um den Inhalt Ihrer Projekte zu durchsuchen.

  1. Öffnen Sie Visual Studio, und wählen Sie im Startfenster Erstellen eines neuen Projektsaus.

  2. Geben Sie auf der Seite Erstellen eines neuen Projekts im Suchfeld leere Lösung ein, wählen Sie die Vorlage Leere Lösung aus, und wählen Sie dann Weiteraus.

    Screenshot: Ausgewählte Vorlage „Leere Projektmappe“ in Visual Studio

    Tipp

    Wenn Sie mehrere Workloads installiert haben, wird die Vorlage Leere Projektmappe möglicherweise nicht oben in der Liste der Suchergebnisse angezeigt. Scrollen Sie durch Andere Ergebnisse basierend auf Ihrer Suche, um die Vorlage zu finden.

  3. Geben Sie der Projektmappe auf der Seite Neues Projekt konfigurieren den Namen QuickSolution, und wählen Sie dann Erstellen aus.

    Die QuickSolution-Lösung wird im Projektmappen-Explorer auf der rechten Seite des Visual Studio-Fensters angezeigt. Sie verwenden den Projektmappen-Explorer häufig, um die Inhalte Ihrer Projekte zu durchsuchen.

Hinzufügen eines Projekts

Fügen Sie der Projektmappe nun Ihr erstes Projekt hinzu. Beginnen Sie mit einem leeren Projekt, und fügen Sie die benötigten Elemente hinzu.

  1. Klicken Sie im Projektmappen-Explorermit der rechten Maustaste auf die Projektmappe "QuickSolution". Wählen Sie im Kontextmenü >Neues Projekt hinzufügenaus.

    Ein Dialogfeld wird geöffnet mit dem Text Ein neues Projekt hinzufügen.

  2. Geben Sie den Text Leer oben in das Suchfeld ein, und klicken Sie dann unter Sprache auf C#.

  3. Wählen Sie die Vorlage Leeres Projekt (.NET Framework) aus, und wählen Sie dann Nextaus.

  4. Geben Sie dem Projekt den Namen QuickDate, und klicken Sie dann auf Erstellen.

    Unter der Projektmappe wird im Projektmappen-Explorer ein Projekt mit dem Namen „QuickDate“ angezeigt. Derzeit enthält sie eine einzelne Datei mit dem Namen App.config.

    Anmerkung

    Wenn die Vorlage Leeres Projekt (.NET Framework) nicht angezeigt wird, müssen Sie die Visual Studio-Workload .NET-Desktopentwicklung installieren. Visual Studio verwendet workloadbasierte Installation, um nur die Komponenten zu installieren, die Sie für die Art der Entwicklung benötigen.

    Eine einfache Möglichkeit, eine neue Arbeitslast zu installieren, wenn Sie ein neues Projekt erstellen, besteht darin, den Link Weitere Tools und Features installieren unter dem Text auszuwählen, der lautet: Nicht finden, wonach Sie suchen?. Wählen Sie nach dem Starten des Visual Studio-Installers die Workload .NET-Desktopentwicklung aus, und klicken Sie anschließend auf Ändern.

    Screenshot mit dem Link

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Projektmappe „QuickSolution“. Wählen Sie im Kontextmenü >Neues Projekt hinzufügenaus.

  2. Geben Sie auf der Seite Neues Projekt hinzufügen im Suchfeld oben leer ein, und wählen Sie unter Alle Sprachen die Option C# aus.

  3. Wählen Sie die Vorlage "C# Leeres Projekt (.NET Framework)" aus, und wählen Sie dann Nextaus.

    Anmerkung

    Visual Studio verwendet workloadbasierte Installation, um nur die Komponenten zu installieren, die Sie für die Art der Entwicklung benötigen. Wenn die Vorlage Leeres Projekt (.NET Framework) nicht angezeigt wird, installieren Sie die Visual Studio-Workload für die .NET-Desktop-Entwicklung.

    Eine einfache Möglichkeit zum Installieren einer neuen Workload beim Erstellen eines neuen Projekts besteht darin, den Weitere Tools und Features installieren Link unter dem Text auszuwählen, der lautet: Sie finden nicht, wonach Sie suchen?. Wählen Sie im Visual Studio-Installer die Workload .NET-Desktopentwicklung und dann Ändern aus.

    Screenshot mit dem Link

  4. Geben Sie auf der Seite Neues Projekt konfigurieren dem Projekt den Namen QuickDate, und wählen Sie dann Erstellen aus.

    Unter der Projektmappe wird im Projektmappen-Explorer das Projekt mit dem Namen QuickDate angezeigt. Das Projekt enthält den Knoten Verweise und eine einzelne Datei mit dem Namen App.config.

Hinzufügen eines Elements zum Projekt

Fügen Sie ihrem leeren Projekt eine Codedatei hinzu.

  1. Klicken Sie im Projektmappen-Explorermit der rechten Maustaste auf das QuickDate Projekt. Wählen Sie im Kontextmenü Neues Element hinzufügen>aus.

    Das Dialogfeld Neues Element hinzufügen wird geöffnet. Wählen Sie Alle Vorlagen anzeigen aus, wenn das Dialogfeld in der Kompaktansicht geöffnet wird.

  2. Erweitern Sie Visual C#-Elemente, und wählen Sie dann Code aus. Wählen Sie im mittleren Bereich die Elementvorlage Klasse aus. Geben Sie unter Name den Namen Kalenderein, und wählen Sie dann Hinzufügen aus.

    Visual Studio fügt dem Projekt eine Datei mit dem Namen Calendar.cs hinzu. Die .cs am Ende ist die Dateierweiterung für C#-Codedateien. Die Datei Calendar.cs wird in der visuellen Projektstruktur des Projektmappen-Explorers angezeigt, und die Datei öffnet sich im Editor.

  3. Ersetzen Sie den Inhalt der datei Calendar.cs durch den folgenden 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;
            }
        }
    }
    

    Sie müssen nicht verstehen, was der Code gerade tut. Führen Sie die App aus, indem Sie STRG+F5-drücken. Die App übergibt das heutige Datum in das Konsolen- oder Standardausgabefenster. Schließen Sie dann das Konsolenfenster.

Hinzufügen eines zweiten Projekts

Lösungen enthalten häufig mehrere Projekte, und diese Projekte verweisen häufig aufeinander. Einige Projekte in einer Lösung können Klassenbibliotheken sein, einige möglicherweise ausführbare Anwendungen und einige sind Komponententestprojekte oder Websites.

Um Ihrer Projektmappe ein Komponententestprojekt hinzuzufügen, beginnen Sie mit einer Projektvorlage, damit Sie dem Projekt keine weitere Codedatei hinzufügen müssen.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Projektmappe „QuickSolution“. Wählen Sie im Kontextmenü >Neues Projekt hinzufügenaus.

  2. Geben Sie im Dialogfeld Neues Projekt hinzufügen oben in das Suchfeld den Text Komponententest ein, und klicken Sie dann unter Sprache auf C#.

  3. Wählen Sie die Projektvorlage Unit Test Project für .NET Core aus, und wählen Sie dann Nextaus.

    Anmerkung

    Ab Visual Studio 2019, Version 16.9, wurde der Name der MSTest-Projektvorlage von MSTest Unit Test Project (.NET Core) in Unit Test Projectgeändert. In diesem Update wurden mehrere Schritte in der Projekterstellung geändert.

  4. Benennen Sie das Projekt QuickTest-, und wählen Sie dann Nextaus.

  5. Wählen Sie entweder das empfohlene Zielframework (.NET Core 3.1) oder .NET 5 aus, und wählen Sie dann Erstellenaus.

    Ein zweites Projekt wird zum Projektmappen-Explorerhinzugefügt, und eine Datei mit dem Namen UnitTest1.cs wird im Editor geöffnet.

    Screenshot: Projektmappen-Explorer mit zwei Projekten

  1. Klicken Sie im Lösungs-Explorermit der rechten Maustaste auf Lösung "QuickSolution". Wählen Sie im Kontextmenü Hinzufügen>Neues Projekt aus.

  2. Geben Sie oben im Dialogfeld Neues Projekt hinzufügen den Text Komponententest ein, und wählen Sie dann unter Alle Sprachen die Option C# aus.

  3. Wählen Sie die C#-Projektvorlage Komponententestprojekt (.NET Framework) aus, und wählen Sie dann Weiter aus.

  4. Geben Sie auf der Seite Neues Projekt konfigurieren dem Projekt den Namen QuickTest, und wählen Sie dann Erstellen aus.

    Visual Studio fügt das QuickTest-Projekt dem Projektmappen-Explorer hinzu, und die Datei UnitTest1.cs wird im Editor geöffnet.

    Screenshot: Projektmappen-Explorer mit zwei Projekten

Hinzufügen eines Projektverweises

Um das neue Komponententestprojekt zum Testen der Methode im QuickDate--Projekt zu verwenden, müssen Sie dem QuickTest- Projekt einen Verweis auf QuickDate- hinzufügen. Durch das Hinzufügen des Verweises wird eine Buildabhängigkeit zwischen den beiden Projekten erstellt. Wenn Sie die Projektmappe erstellen, wird QuickDate vor QuickTest erstellt.

  1. Klicken Sie mit der rechten Maustaste auf den Knoten Abhängigkeiten im QuickTest-Projekt. Wählen Sie im Kontextmenü Projektverweis hinzufügen aus.

    Das Dialogfeld Verweis-Manager wird geöffnet.

  2. Erweitern Sie im linken Bereich Projekte, und wählen Sie dann Projektmappe aus. Aktivieren Sie im mittleren Bereich das Kontrollkästchen neben QuickDate, und wählen Sie dann OKaus.

    Es wird ein Verweis auf das QuickDate- Projekt hinzugefügt.

    Screenshot: Projektmappen-Explorer mit Projektverweis in Visual Studio 2019

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Verweise des QuickTest-Projekts. Wählen Sie im Kontextmenü Verweis hinzufügen aus.

  2. Wählen Sie im Dialogfeld Verweis-Manager die Option Projekte aus. Aktivieren Sie im mittleren Bereich das Kontrollkästchen neben QuickDate, und klicken Sie dann auf OK.

    Ein Verweis auf das QuickDate-Projekt wird unter dem QuickTest-Projekt im Projektmappen-Explorer angezeigt.

    Screenshot: Projektmappen-Explorer mit einem Projektverweis

Hinzufügen von Testcode

  1. Fügen Sie der C#-Testcodedatei jetzt Testcode hinzu. Ersetzen Sie den Inhalt von UnitTest1.cs durch den folgenden 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());
            }
        }
    }
    

    Unter einigen Teilen des Codes wird eine rote Wellenlinie angezeigt. Sie können diesen Fehler beheben, indem Sie das Testprojekt als Friend-Assembly für das QuickDate-Projekt festlegen.

  2. Fügen Sie oben in der Datei Calendar.cs die folgende using-Anweisung und das InternalsVisibleToAttribute-Attribut hinzu, um den Fehler im Testprojekt zu beheben.

    using System.Runtime.CompilerServices;
    
    [assembly: InternalsVisibleTo("QuickTest")]
    

    Der Code in Calendar.cs sollte wie auf diesem Screenshot aussehen.

    Screenshot mit C Sharp-Code.

    Screenshot mit C Sharp-Code.

Ausführen des Komponententests

Um zu überprüfen, ob der Komponententest funktioniert, wählen Sie in der Menüleiste Test>Alle Tests ausführenaus. Das Fenster Test-Explorer wird geöffnet, und der TestGetCurrentDate-Test wird bestanden.

Screenshot, der den Test-Explorer mit einem bestandenen Test zeigt.

Screenshot, der den Test-Explorer mit einem bestandenen Test zeigt.

Tipp

Sie können auch Test-Explorer öffnen, indem Sie Test>Test-Explorer in der Menüleiste auswählen.

Projekteigenschaften

Die Zeile in der datei Calendar.cs, die das attribut InternalsVisibleToAttribute enthält, verweist auf den Assemblynamen oder Dateinamen des QuickTest- Projekts. Der Assemblyname ist möglicherweise nicht immer identisch mit dem Projektnamen. Verwenden Sie die Projekteigenschaften, um den Assemblynamen eines Projekts zu finden. Die Eigenschaftenseiten enthalten verschiedene Einstellungen für das Projekt.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt QuickTest, und wählen Sie Eigenschaften aus, oder wählen Sie das Projekt aus, und drücken Sie ALT+EINGABETASTE.

    Die Eigenschaftenseiten für das Projekt werden auf der Registerkarte Anwendung geöffnet. Der Assemblyname des QuickTest-Projekts lautet tatsächlich QuickTest.

    Wenn Sie möchten, können Sie den Namen hier ändern. Beim Erstellen des Testprojekts ändert sich der Name der resultierenden Binärdatei von QuickTest.dll in <NewName->.dll.

    Screenshot, der Projekteigenschaften zeigt.

    Screenshot, der Projekt-Eigenschaften zeigt.

  2. Erkunden Sie einige der anderen Registerkarten der Eigenschaftenseiten des Projekts, z. B. Build- und Debug-. Diese Registerkarten sind bei den verschiedenen Projekttypen unterschiedlich.