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.
Öffnen Sie Visual Studio.
Wählen Sie im Startfenster Neues Projekt erstellenaus.
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.
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.
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.
Öffnen Sie Visual Studio, und wählen Sie im Startfenster Erstellen eines neuen Projektsaus.
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.
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.
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.
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.
Geben Sie den Text Leer oben in das Suchfeld ein, und klicken Sie dann unter Sprache auf C#.
Wählen Sie die Vorlage Leeres Projekt (.NET Framework) aus, und wählen Sie dann Nextaus.
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.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Projektmappe „QuickSolution“. Wählen Sie im Kontextmenü >Neues Projekt hinzufügenaus.
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.
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.
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.
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.
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.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.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Projektmappe „QuickSolution“. Wählen Sie im Kontextmenü >Neues Projekt hinzufügenaus.
Geben Sie im Dialogfeld Neues Projekt hinzufügen oben in das Suchfeld den Text Komponententest ein, und klicken Sie dann unter Sprache auf C#.
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.
Benennen Sie das Projekt QuickTest-, und wählen Sie dann Nextaus.
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.
Klicken Sie im Lösungs-Explorermit der rechten Maustaste auf Lösung "QuickSolution". Wählen Sie im Kontextmenü Hinzufügen>Neues Projekt aus.
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.
Wählen Sie die C#-Projektvorlage Komponententestprojekt (.NET Framework) aus, und wählen Sie dann Weiter aus.
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.
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.
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.
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.
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.
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.
Hinzufügen von Testcode
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.
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.
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.
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.
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.
Erkunden Sie einige der anderen Registerkarten der Eigenschaftenseiten des Projekts, z. B. Build- und Debug-. Diese Registerkarten sind bei den verschiedenen Projekttypen unterschiedlich.