Lernprogramm: Erstellen einer .NET-Klassenbibliothek mit Visual Studio
In diesem Tutorial erstellen Sie eine einfache Klassenbibliothek, die eine einzelne Methode zur Behandlung von Zeichenfolgen enthält.
Eine Klassenbibliothek definiert Typen und Methoden, die von einer Anwendung aufgerufen werden. Wenn die Bibliothek auf .NET Standard 2.0 ausgerichtet ist, kann sie von jeder .NET-Implementierung (einschließlich .NET Framework) aufgerufen werden, die .NET Standard 2.0 unterstützt. Wenn die Bibliothek auf .NET 8 ausgerichtet ist, kann sie von einer beliebigen Anwendung aufgerufen werden, die auf .NET 8 ausgerichtet ist. Dieses Tutorial zeigt, wie man sich auf .NET 8 ausrichtet.
Wenn Sie eine Klassenbibliothek erstellen, können Sie sie als NuGet-Paket oder als Komponente verteilen, die mit der Anwendung gebündelt ist, die sie verwendet.
Voraussetzungen
Visual Studio 2022 mit installierter Workload .NET-Desktopentwicklung. Das .NET 8 SDK wird automatisch installiert, wenn Sie diese Workload auswählen.
Weitere Informationen finden Sie unter Installieren des .NET SDK mit Visual Studio.
Erstellen einer Lösung
Erstellen Sie zunächst eine leere Lösung, um das Klassenbibliotheksprojekt einzufügen. Eine Visual Studio-Projektmappe dient als ein Container für mindestens ein Projekt. Sie fügen der gleichen Projektmappe weitere verwandte Projekte hinzu.
So erstellen Sie die leere Lösung:
Starten Sie Visual Studio.
Im Startfenster wählen Sie Neues Projekt erstellenaus.
Geben Sie auf der Seite Neues Projekt erstellen die Angabe Projektmappe in das Suchfeld ein. Wählen Sie die Vorlage Leere Projektmappe aus, und klicken Sie dann auf Weiter.
Geben Sie auf der Seite Neues Projekt konfigurieren im Feld Projektmappenname den Namen ClassLibraryProjects ein. Wählen Sie dann Erstellen aus.
Erstellen eines Klassenbibliotheksprojekts
Fügen Sie der Lösung ein neues .NET-Klassenbibliotheksprojekt namens "StringLibrary" hinzu.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und wählen Sie Hinzufügen>Neues Projekt aus.
Geben Sie auf der Seite Neues Projekt hinzufügenlibrary in das Suchfeld ein. Wählen Sie C# oder Visual Basic in der Liste der Sprachen und dann in der Liste der Plattformen Alle Plattformen aus. Wählen Sie die Vorlage Klassenbibliothek aus, und klicken Sie dann auf Weiter.
Geben Sie im auf der Seite Neues Projekt konfigurieren im Feld Projektname den Namen StringLibrary ein, und klicken Sie anschließend auf Weiter.
Wählen Sie auf der Seite Zusätzliche Informationen die Option .NET 8 aus, und klicken Sie dann auf Erstellen.
Stellen Sie sicher, dass die Bibliothek auf die richtige Version von .NET ausgerichtet ist. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Bibliotheksprojekt, und klicken Sie dann auf Eigenschaften. Das Textfeld Zielframework zeigt, dass .NET 8.0 als Ziel verwendet wird.
Wenn Sie Visual Basic verwenden, löschen Sie den Text im Textfeld Stammnamespace.
Für jedes Projekt erstellt Visual Basic automatisch einen Namespace, der dem Projektnamen entspricht. In diesem Tutorial definieren Sie einen Namespace auf oberster Ebene mithilfe des Schlüsselworts
namespace
in der Codedatei.Ersetzen Sie den Code im Codefenster für Class1.cs oder Class1.vb durch den folgenden Code, und speichern Sie die Datei. Wenn die sprache, die Sie verwenden möchten, nicht angezeigt wird, ändern Sie die Sprachauswahl oben auf der Seite.
using System; namespace UtilityLibraries { public static class StringLibrary { public static bool StartsWithUpper(this string str) { if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); } } }
Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary <Extension> Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End Namespace
Die Klassenbibliothek,
UtilityLibraries.StringLibrary
, enthält eine Methode mit dem NamenStartsWithUpper
. Diese Methode gibt einen Boolean Wert zurück, der angibt, ob die aktuelle Zeichenfolgeninstanz mit einem Großbuchstaben beginnt. Der Unicode-Standard unterscheidet Großbuchstaben von Kleinbuchstaben. Die Methode Char.IsUpper(Char) gibttrue
zurück, wenn ein Zeichen ein Großbuchstabe ist.Die Methode
StartsWithUpper
wird als Erweiterungsmethode implementiert, damit sie wie ein Member der Klasse String aufgerufen werden kann. Das Fragezeichen (?
) nachstring
im C#-Code gibt an, dass die Zeichenfolge null sein kann.Klicken Sie auf der Menüleiste auf Erstellen>Projektmappe erstellen, oder drücken Sie STRG+UMSCHALT+B, um zu bestätigen, dass das Projekt ohne Fehler kompiliert wird.
Hinzufügen einer Konsolen-App zur Lösung
Fügen Sie eine Konsolenanwendung hinzu, die die Klassenbibliothek verwendet. Die App fordert den Benutzer auf, eine Zeichenfolge einzugeben und zu melden, ob die Zeichenfolge mit einem Großbuchstaben beginnt.
Fügen Sie der Lösung eine neue .NET-Konsolenanwendung namens "ShowCase" hinzu.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und wählen Sie Hinzufügen>Neues Projekt aus.
Geben Sie auf der Seite Neues Projekt hinzufügen die Angabe Konsole in das Suchfeld ein. Wählen Sie C# oder Visual Basic in der Liste der Sprachen und dann in der Liste der Plattformen Alle Plattformen aus.
Wählen Sie die Vorlage Konsolenanwendung aus, und klicken Sie dann auf Weiter.
Geben Sie ShowCase auf der Seite Neues Projekt konfigurieren in das Feld Projektname ein. Klicken Sie dann auf Weiter.
Wählen Sie auf der Seite Zusätzliche Informationen im Feld Zielframework die Option .NET 8 aus. Wählen Sie dann Erstellen aus.
Ersetzen Sie im Codefenster für die Datei Program.cs oder Program.vb den gesamten Code durch den folgenden Code.
using System; using UtilityLibraries; class Program { static void Main(string[] args) { int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}"); row += 3; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; } } }
Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue...") Console.ReadKey() End If Console.Clear() Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}") row = 3 End Sub End Module
Der Code verwendet die
row
-Variable, um die Anzahl der in das Konsolenfenster geschriebenen Datenzeilen festzuhalten. Wenn er größer als oder gleich 25 ist, löscht der Code das Konsolenfenster und zeigt dem Benutzer eine Meldung an.Das Programm fordert den Benutzer auf, eine Zeichenfolge einzugeben. Es zeigt an, ob die Zeichenfolge mit einem Großbuchstaben beginnt. Wenn der Benutzer die Eingabetaste drückt, ohne eine Zeichenfolge einzugeben, endet die Anwendung und das Konsolenfenster wird geschlossen.
Hinzufügen eines Projektverweises
Zunächst hat das neue Konsolen-App-Projekt keinen Zugriff auf die Klassenbibliothek. Damit Methoden in der Klassenbibliothek aufgerufen werden können, erstellen Sie einen Projektverweis auf das Klassenbibliotheksprojekt.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Abhängigkeiten des
ShowCase
-Projekts, und wählen Sie Projektverweis hinzufügen aus.Wählen Sie im Dialogfeld Verweis-Manager das Projekt StringLibrary und dann OK aus.
Dialogfeld
Ausführen der App
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das ShowCase-Projekt, und wählen Sie Als Startprojekt festlegen aus.
Drücken Sie STRG+F5-, um das Programm ohne Debugging zu kompilieren und auszuführen.
Probieren Sie das Programm aus, indem Sie Zeichenfolgen eingeben und die Taste Enterdrücken, und drücken Sie dann die Taste Enter, um den Vorgang zu beenden.
Weitere Ressourcen
- Bibliotheken mit dem .NET CLI entwickeln
- .NET Standard-Versionen und die von ihnen unterstützten Plattformen.
Nächste Schritte
In diesem Tutorial haben Sie eine Klassenbibliothek erstellt. Im nächsten Tutorial werden Sie lernen, wie Sie die Klassenbibliothek einem Unit-Test unterziehen.
Sie können auch automatisierte Komponententests überspringen und erfahren, wie Sie die Bibliothek freigeben, indem Sie ein NuGet-Paket erstellen:
Oder erfahren Sie, wie Sie eine Konsolen-App veröffentlichen. Wenn Sie die Konsolen-App aus der Projektmappe veröffentlichen, die Sie in diesem Tutorial erstellt haben, wird die Klassenbibliothek als DLL-Datei veröffentlicht.