Einführung in Projekte und Projektmappen

In diesem einführenden Artikel erfahren Sie mehr über das Erstellen einer Projektmappe und eines Projekts in Visual Studio. Eine Projektmappe ist ein Container, der zum Organisieren von mindestens einem zugehörigen Codeprojekt verwendet wird, etwa eines Klassenbibliotheksprojekts und des entsprechenden Testprojekts.

Eine Projektmappe und ein Projekt werden von Grund auf neu erstellt, damit Sie das Konzept eines Projekts nachvollziehen können. Normalerweise verwenden Sie Visual Studio-Projektvorlagen, um neue Projekte zu erstellen. Außerdem sehen Sie sich die Eigenschaften eines Projekts und einige der Dateien an, die es enthalten kann, und erstellen einen Verweis von einem Projekt auf ein anderes.

Hinweis

Das Entwickeln von Apps in Visual Studio erfordert keine Projektmappen und Projekte. Sie können einfach nur einen Ordner öffnen, der Code enthält, und mit dem Codieren, Erstellen und Debuggen beginnen. Ein geklontes GitHub-Repository enthält beispielsweise ggf. keine Visual Studio-Projekte und -Projektmappen. Weitere Informationen finden Sie unter Entwickeln von Code in Visual Studio ohne Projekte oder Projektmappen.

Wenn Sie Visual Studio 2019 noch nicht installiert haben, können Sie es auf der Seite Visual Studio-Downloads kostenlos herunterladen.

Wenn Sie Visual Studio noch nicht installiert haben, können Sie es auf der Seite Visual Studio-Downloads kostenlos herunterladen.

Projektmappen und Projekte

In Visual Studio ist eine Projektmappe keine „Antwort“. Projektmappen sind lediglich Container, die in Visual Studio zum Organisieren von mindestens einem Projekt verwendet werden. Wenn Sie eine Projektmappe öffnen, lädt Visual Studio automatisch alle Projekte, die die Projektmappe enthält.

Erstellen einer Projektmappe

Zunächst soll eine leere Projektmappe erstellt werden. Wenn Sie besser mit Visual Studio vertraut sind, werden Sie wahrscheinlich eher selten leere Projektmappen erstellen. 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. Klicken Sie im Startfenster auf Neues Projekt erstellen.

  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 that shows a Blank Solution template selected in Visual Studio 2019.

    Tipp

    Wenn Sie mehrere Workloads installiert haben, wird die Vorlage Leere Projektmappe möglicherweise nicht oben in der Liste der Suchergebnisse angezeigt. Scrollen Sie in der Liste zum Abschnitt Andere Ergebnisse basierend auf Ihrer Suche. Dort sollte die Vorlage angezeigt werden.

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

    Im Projektmappen-Explorer wird auf der rechten Seite im Visual Studio-Fenster eine Projektmappe angezeigt. Sie verwenden den Projektmappen-Explorer wahrscheinlich häufig, um die Inhalte Ihrer Projekte zu durchsuchen.

  1. Öffnen Sie Visual Studio, und wählen Sie im Startfenster Neues Projekt erstellen aus.

  2. 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 that shows a Blank Solution template selected 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 Projektmappe QuickSolution 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 Kontextmenü (Rechtsklick) der Projektmappe „QuickSolution“ im Projektmappen-Explorer auf Hinzufügen >Neues Projekt.

    Ein Dialogfeld mit dem Titel Neues Projekt hinzufügen wird geöffnet.

  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 klicken Sie dann auf Weiter.

  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. Zu diesem Zeitpunkt enthält das Projekt nur eine Datei mit dem Namen App.config.

    Hinweis

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

    Eine einfache Möglichkeit, eine neue Workload beim Erstellen eines neuen Projekts zu installieren, besteht darin, auf den Link Weitere Tools und Features installieren unter dem Text Not finding what you're looking for? (Sie finden nicht, wonach Sie suchen?) zu klicken. Wählen Sie nach dem Starten des Visual Studio-Installers die Workload .NET-Desktopentwicklung aus, und klicken Sie anschließend auf Ändern.

    Screenshot that shows the Open Visual Studio Installer link.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe „QuickSolution“, und wählen Sie Hinzufügen >Neues Projekt aus dem Kontextmenü aus.

  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 C#-Vorlage Leeres Projekt (.NET Framework) aus, und klicken Sie dann auf Weiter.

    Hinweis

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

    Eine einfache Möglichkeit, eine neue Workload beim Erstellen eines neuen Projekts zu installieren, besteht darin, auf den Link Weitere Tools und Features installieren unter dem Text Not finding what you're looking for? (Sie finden nicht, wonach Sie suchen?) zu klicken. Wählen Sie im Visual Studio-Installer die Workload .NET-Desktopentwicklung und dann Ändern aus.

    Screenshot that shows the Open Visual Studio Installer link.

  4. Geben Sie im Dialogfeld Neues Projekt konfigurieren dem Projekt den Namen QuickDate, und wählen Sie dann Erstellen aus.

    Unter der Projektmappe wird im Projektmappen-Explorerein Projekt mit dem NamenQuickDate 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 dem leeren Projekt eine Codedatei hinzu.

  1. Klicken Sie im Kontextmenü (Rechtsklick) des Projekts QuickDate im Projektmappen-Explorer auf Hinzufügen >Neues Element.

    Das Dialogfeld Neues Element hinzufügen wird angezeigt. Wählen Sie Show All Templates (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 Calendarein, und wählen Sie dann Hinzufügen aus.

    Visual Studio fügt dem Projekt eine Datei mit dem Namen Calendar.cs hinzu. Die Erweiterung .cs ist die Dateierweiterung für alle C#-Codedateien. Die Datei Calendar.cs wird im Projektmappen-Explorer in der visuellen Projekthierarchie angezeigt, und die Datei wird im Editor geöffnet.

  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 noch nicht alles verstehen, was der Code bewirkt. Führen Sie die App aus, indem Sie STRG+F5 drücken, und sehen Sie, dass die App das heutige Datum im Konsolenfenster (Standardausgabefenster) ausgibt. Schließen Sie dann das Konsolenfenster.

Hinzufügen eines zweiten Projekts

Lösungen enthalten in der Regel mehrere Projekte, und diese Projekte verweisen häufig aufeinander. Bei einigen Projekten in der Projektmappe handelt es sich möglicherweise um Klassenbibliotheken oder ausführbare Anwendungen, andere können möglicherweise Komponententestprojekte oder Websites sein.

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 Kontextmenü (Rechtsklick) der Projektmappe „QuickSolution“ im Projektmappen-Explorer auf Hinzufügen >Neues Projekt.

  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 Komponententestprojekt für .NET Core aus, und klicken Sie auf Weiter.

    Hinweis

    In Visual Studio 2019, Version 16.9 wurde der Name der MSTest-Projektvorlage von MSTest-Komponententestprojekt (.NET Core) in Komponententestprojekt geändert. In diesem Update wurden verschiedene Schritte in der Projekterstellung geändert.

  4. Geben Sie dem Projekt den Namen QuickTest, und klicken Sie anschließend auf Weiter.

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

    Daraufhin wird dem Projektmappen-Explorer ein zweites Projekt hinzugefügt, und im Editor wird eine Datei mit dem Namen UnitTest1.cs geöffnet.

    Screenshot that shows Solution Explorer with two projects.

  1. Klicken Sie im Kontextmenü (Rechtsklick) der Projektmappe „QuickSolution“ im Projektmappen-Explorer auf Hinzufügen >Neues Projekt.

  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 that shows Solution Explorer with two projects.

Hinzufügen eines Projektverweises

Sie verwenden das neue Komponententestprojekt, um die Methode im Projekt QuickDate zu testen. Aus diesem Grund müssen Sie dem Projekt QuickTest einen Verweis auf QuickDate hinzufügen. Durch das Hinzufügen des Verweises entsteht eine Buildabhängigkeit zwischen den beiden Projekten: QuickDate wird daher beim Erstellen der Projektmappe vor QuickTest erstellt.

  1. Klicken Sie im QuickTest-Projekt auf den Knoten Abhängigkeiten, und wählen Sie dann im Kontextmenü (Rechtsklick) 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 klicken Sie dann auf OK.

    Dem QuickDate-Projekt wird ein Verweis hinzugefügt.

    A screenshot of Solution Explorer showing a project reference in Visual Studio 2019.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Verweise des Projekts QuickTest, und wählen Sie im Kontextmenü die Option 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.

    A screenshot of Solution Explorer showing a project reference.

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 in diesem Screenshot aussehen:

    Screenshot that shows C Sharp code.

    Screenshot that shows C Sharp code.

Ausführen des Komponententests

Wenn Sie überprüfen möchten, ob Ihr Komponententest funktioniert, klicken Sie in der Menüleiste auf Testen>Alle Tests ausführen. Das Fenster Test-Explorer wird geöffnet, und der TestGetCurrentDate-Test wird bestanden.

Screenshot that shows Test Explorer with a passed test.

Screenshot that shows Test Explorer with a passed test.

Tipp

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

Projekteigenschaften

In der Datei Calendar.cs-Datei wird in der Zeile mit dem Attribut InternalsVisibleToAttribute auf den Assemblynamen oder Dateinamen des Projekts QuickTest verwiesen. Der Assemblyname stimmt nicht immer mit dem Projektnamen überein. Verwenden Sie die Projekteigenschaften, um nach dem Assemblynamen eines Projekts zu suchen. 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.

    Sie können den Namen hier ändern, wenn Sie dies möchten. Wenn Sie das Testprojekt erstellen, ändert sich der Name der sich ergebenden Binärdatei von QuickTest.dll in <NewName>.dll.

    Screenshot that shows project properties.

    Screenshot that shows project properties.

  2. Sehen Sie sich einige der anderen Registerkarten der Eigenschaftenseite des Projekts an, z. B. Build und Debuggen. Diese Registerkarten sind bei den verschiedenen Projekttypen unterschiedlich.

Weitere Informationen