Tutorial: 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 die Typen und Methoden, die von einer Anwendung aufgerufen werden können. Wenn die Bibliothek auf .NET Standard 2.0 ausgelegt 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 ausgelegt ist, kann sie von jeder Anwendung aufgerufen werden, die auf .NET 8 ausgerichtet ist. In diesem Tutorial erfahren Sie, wie Sie .NET 8 als Ziel verwenden.
Wenn Sie eine Klassenbibliothek erstellen, können Sie diese als NuGet-Paket oder als mit der zugehörigen Anwendung gebündelte Komponente ausliefern.
Voraussetzungen
Visual Studio 2022 Preview mit der installierten Workload .NET Desktop-Entwicklung Das .NET 8 SDK wird automatisch installiert, wenn Sie diese Workload auswählen.
Weitere Informationen finden Sie unter Installieren mit Visual Studio.
Erstellen einer Projektmappe
Beginnen Sie, indem Sie eine leere Projektmappe erstellen, um das Klassenbibliotheksprojekt darin zu speichern. 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 eine leere Projektmappe:
Starten Sie Visual Studio.
Wählen Sie im Startfenster Neues Projekt erstellen aus.
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 ein neues .NET-Klassenbibliotheksprojekt namens „StringLibrary“ zur Projektmappe 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 (Preview) aus, und klicken Sie dann auf Erstellen.
Stellen Sie sicher, dass die Bibliothek die richtige Version von .NET als Ziel verwendet. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Bibliotheksprojekt, und klicken Sie dann auf Eigenschaften. Im Textfeld Zielframework wird angezeigt, dass für das Projekt .NET 7.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 der obersten 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 gewünschte Sprache nicht angezeigt wird, ändern Sie die Sprachauswahl im oberen Seitenbereich.
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 namensStartsWithUpper
. Diese Methode gibt einen Boolean-Wert zurück, der angibt, ob die aktuelle Zeichenfolgeninstanz mit einem Großbuchstaben beginnt. Der Unicode-Standard unterscheidet Groß- und Kleinschreibung. 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 (?
) hinterstring
gibt an, dass die Zeichenfolge NULL sein darf.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 Projektmappe
Im Folgenden fügen Sie eine Konsolenanwendung hinzu, die die Klassenbibliothek verwendet. Die App fordert den Benutzer dazu auf, eine Zeichenfolge einzugeben, und meldet, ob die Zeichenfolge mit einem Großbuchstaben beginnt.
Fügen Sie der Projektmappe eine neue .NET-Konsolenanwendung mit dem Namen „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. Wählen Sie anschließend Weiter aus.
Wählen Sie auf der Seite Zusätzliche Informationen im Feld Zielframework die Option .NET 8 (Preview) 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 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}"); Console.WriteLine("Begins with uppercase? " + $"{(input.StartsWithUpper() ? "Yes" : "No")}"); Console.WriteLine(); row += 4; } 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 sie mindestens 25 beträgt, löscht der Code das Konsolenfenster und zeigt eine Meldung für den Benutzer an.Das Programm selbst fordert den Benutzer zur Eingabe einer Zeichenfolge auf. Es zeigt an, ob die Zeichenfolge mit einem Großbuchstaben beginnt. Wenn der Benutzer die EINGABETASTE drückt, ohne eine Zeichenfolge einzugeben, wird die Anwendung beendet und das Konsolenfenster geschlossen.
Hinzufügen eines Projektverweises
Anfänglich besitzt das neue Konsolen-App-Projekt keinen Zugriff auf die Klassenbibliothek. Damit es Methoden in der Klassenbibliothek aufrufen kann, 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.
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 Debuggen zu kompilieren und auszuführen.
Testen Sie das Programm, indem Sie Zeichenfolgen eingeben und die EINGABETASTE drücken, und drücken Sie dann die EINGABETASTE, um das Programm zu beenden.
Zusätzliche Ressourcen
- Entwickeln von Bibliotheken mit der .NET-CLI
- .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 erfahren Sie, wie Sie Komponententests für die Klassenbibliothek ausführen.
Alternativ können Sie die automatisierten Komponententests auch überspringen und sich damit beschäftigen, wie die Bibliothek durch Erstellen eines NuGet-Pakets freigegeben werden kann:
Stattdessen können Sie sich auch über das Veröffentlichen einer Konsolen-App informieren. 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.
In diesem Tutorial erstellen Sie eine einfache Klassenbibliothek, die eine einzelne Methode zur Behandlung von Zeichenfolgen enthält.
Eine Klassenbibliothek definiert die Typen und Methoden, die von einer Anwendung aufgerufen werden können. Wenn die Bibliothek auf .NET Standard 2.0 ausgelegt ist, kann sie von jeder .NET-Implementierung (einschließlich .NET Framework) aufgerufen werden, die .NET Standard 2.0 unterstützt. Wenn die Bibliothek .NET 7 als Ziel hat, kann sie von jeder Anwendung aufgerufen werden, die .NET 7 als Ziel hat. In diesem Tutorial erfahren Sie, wie Sie .NET 7 als Ziel verwenden.
Wenn Sie eine Klassenbibliothek erstellen, können Sie diese als NuGet-Paket oder als mit der zugehörigen Anwendung gebündelte Komponente ausliefern.
Voraussetzungen
Visual Studio 2022, Version 17.4 mit installierter Workload .NET Desktop-Entwicklung. Das .NET 7 SDK wird automatisch installiert, wenn Sie diese Workload auswählen.
Weitere Informationen finden Sie unter Installieren mit Visual Studio.
Erstellen einer Projektmappe
Beginnen Sie, indem Sie eine leere Projektmappe erstellen, um das Klassenbibliotheksprojekt darin zu speichern. 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 eine leere Projektmappe:
Starten Sie Visual Studio.
Wählen Sie im Startfenster Neues Projekt erstellen aus.
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 ein neues .NET-Klassenbibliotheksprojekt namens „StringLibrary“ zur Projektmappe 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 7 (Standard-Laufzeitunterstützung) und dann Erstellen aus.
Stellen Sie sicher, dass die Bibliothek die richtige Version von .NET als Ziel verwendet. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Bibliotheksprojekt, und klicken Sie dann auf Eigenschaften. Im Textfeld Zielframework wird angezeigt, dass für das Projekt .NET 7.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 der obersten 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 gewünschte Sprache nicht angezeigt wird, ändern Sie die Sprachauswahl im oberen Seitenbereich.
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 namensStartsWithUpper
. Diese Methode gibt einen Boolean-Wert zurück, der angibt, ob die aktuelle Zeichenfolgeninstanz mit einem Großbuchstaben beginnt. Der Unicode-Standard unterscheidet Groß- und Kleinschreibung. 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 (?
) hinterstring
gibt an, dass die Zeichenfolge NULL sein darf.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 Projektmappe
Im Folgenden fügen Sie eine Konsolenanwendung hinzu, die die Klassenbibliothek verwendet. Die App fordert den Benutzer dazu auf, eine Zeichenfolge einzugeben, und meldet, ob die Zeichenfolge mit einem Großbuchstaben beginnt.
Fügen Sie der Projektmappe eine neue .NET-Konsolenanwendung mit dem Namen „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. Wählen Sie anschließend Weiter aus.
Wählen Sie auf der Seite Zusätzliche Informationen im Feld Framework die Option .NET 7 (Standard-Laufzeitunterstützung) 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 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}"); Console.WriteLine("Begins with uppercase? " + $"{(input.StartsWithUpper() ? "Yes" : "No")}"); Console.WriteLine(); row += 4; } 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 sie mindestens 25 beträgt, löscht der Code das Konsolenfenster und zeigt eine Meldung für den Benutzer an.Das Programm selbst fordert den Benutzer zur Eingabe einer Zeichenfolge auf. Es zeigt an, ob die Zeichenfolge mit einem Großbuchstaben beginnt. Wenn der Benutzer die EINGABETASTE drückt, ohne eine Zeichenfolge einzugeben, wird die Anwendung beendet und das Konsolenfenster geschlossen.
Hinzufügen eines Projektverweises
Anfänglich besitzt das neue Konsolen-App-Projekt keinen Zugriff auf die Klassenbibliothek. Damit es Methoden in der Klassenbibliothek aufrufen kann, 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.
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 Debuggen zu kompilieren und auszuführen.
Testen Sie das Programm, indem Sie Zeichenfolgen eingeben und die EINGABETASTE drücken, und drücken Sie dann die EINGABETASTE, um das Programm zu beenden.
Zusätzliche Ressourcen
- Entwickeln von Bibliotheken mit der .NET-CLI
- .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 erfahren Sie, wie Sie Komponententests für die Klassenbibliothek ausführen.
Alternativ können Sie die automatisierten Komponententests auch überspringen und sich damit beschäftigen, wie die Bibliothek durch Erstellen eines NuGet-Pakets freigegeben werden kann:
Stattdessen können Sie sich auch über das Veröffentlichen einer Konsolen-App informieren. 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.
In diesem Tutorial erstellen Sie eine einfache Klassenbibliothek, die eine einzelne Methode zur Behandlung von Zeichenfolgen enthält.
Eine Klassenbibliothek definiert die Typen und Methoden, die von einer Anwendung aufgerufen werden können. Wenn die Bibliothek auf .NET Standard 2.0 ausgelegt 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 6 ausgelegt ist, kann sie von jeder Anwendung aufgerufen werden, die auf .NET 6 ausgerichtet ist. In diesem Tutorial erfahren Sie, wie Sie .NET 6 als Ziel verwenden.
Wenn Sie eine Klassenbibliothek erstellen, können Sie diese als NuGet-Paket oder als mit der zugehörigen Anwendung gebündelte Komponente ausliefern.
Voraussetzungen
Visual Studio 2022, Version 17.0.0 Preview mit installierter Workload .NET Desktop-Entwicklung. Das .NET 6 SDK wird automatisch installiert, wenn Sie diese Arbeitsauslastung auswählen.
Weitere Informationen finden Sie unter Installieren mit Visual Studio.
Erstellen einer Projektmappe
Beginnen Sie, indem Sie eine leere Projektmappe erstellen, um das Klassenbibliotheksprojekt darin zu speichern. 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 eine leere Projektmappe:
Starten Sie Visual Studio.
Wählen Sie im Startfenster Neues Projekt erstellen aus.
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 ein neues .NET-Klassenbibliotheksprojekt namens „StringLibrary“ zur Projektmappe 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 6 (langfristige Unterstützung) und dann Erstellen aus.
Stellen Sie sicher, dass die Bibliothek die richtige Version von .NET als Ziel verwendet. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Bibliotheksprojekt, und klicken Sie dann auf Eigenschaften. Das Textfeld Zielframework zeigt, dass .NET 6.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 der obersten 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 gewünschte Sprache nicht angezeigt wird, ändern Sie die Sprachauswahl im oberen Seitenbereich.
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 namensStartsWithUpper
. Diese Methode gibt einen Boolean-Wert zurück, der angibt, ob die aktuelle Zeichenfolgeninstanz mit einem Großbuchstaben beginnt. Der Unicode-Standard unterscheidet Groß- und Kleinschreibung. 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 (?
) hinterstring
gibt an, dass die Zeichenfolge NULL sein darf.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 Projektmappe
Im Folgenden fügen Sie eine Konsolenanwendung hinzu, die die Klassenbibliothek verwendet. Die App fordert den Benutzer dazu auf, eine Zeichenfolge einzugeben, und meldet, ob die Zeichenfolge mit einem Großbuchstaben beginnt.
Fügen Sie der Projektmappe eine neue .NET-Konsolenanwendung mit dem Namen „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. Wählen Sie anschließend Weiter aus.
Wählen Sie auf der Seite Zusätzliche Informationen im Feld Framework die Option .NET 6 (langfristige Unterstützung) 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 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}"); Console.WriteLine("Begins with uppercase? " + $"{(input.StartsWithUpper() ? "Yes" : "No")}"); Console.WriteLine(); row += 4; } 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 sie mindestens 25 beträgt, löscht der Code das Konsolenfenster und zeigt eine Meldung für den Benutzer an.Das Programm selbst fordert den Benutzer zur Eingabe einer Zeichenfolge auf. Es zeigt an, ob die Zeichenfolge mit einem Großbuchstaben beginnt. Wenn der Benutzer die EINGABETASTE drückt, ohne eine Zeichenfolge einzugeben, wird die Anwendung beendet und das Konsolenfenster geschlossen.
Hinzufügen eines Projektverweises
Anfänglich besitzt das neue Konsolen-App-Projekt keinen Zugriff auf die Klassenbibliothek. Damit es Methoden in der Klassenbibliothek aufrufen kann, 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.
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 Debuggen zu kompilieren und auszuführen.
Testen Sie das Programm, indem Sie Zeichenfolgen eingeben und die EINGABETASTE drücken, und drücken Sie dann die EINGABETASTE, um das Programm zu beenden.
Zusätzliche Ressourcen
- Entwickeln von Bibliotheken mit der .NET-CLI
- .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 erfahren Sie, wie Sie Komponententests für die Klassenbibliothek ausführen.
Alternativ können Sie die automatisierten Komponententests auch überspringen und sich damit beschäftigen, wie die Bibliothek durch Erstellen eines NuGet-Pakets freigegeben werden kann:
Stattdessen können Sie sich auch über das Veröffentlichen einer Konsolen-App informieren. 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.