Självstudie: Skapa ett .NET-klassbibliotek med Visual Studio
I den här självstudien skapar du ett enkelt klassbibliotek som innehåller en enda stränghanteringsmetod.
Ett klassbibliotek definierar typer och metoder som anropas av ett program. Om biblioteket är avsett för .NET Standard 2.0 kan det anropas av alla .NET-implementeringar (inklusive .NET Framework) som stöder .NET Standard 2.0. Om biblioteket är avsett för .NET 8 kan det anropas av alla program som riktar sig till .NET 8. Den här självstudien visar hur du riktar in dig på .NET 8.
När du skapar ett klassbibliotek kan du distribuera det som ett NuGet-paket eller som en komponent som paketeras med det program som använder det.
Förutsättningar
Visual Studio 2022 Preview med arbetsbelastningen .NET Desktop Development installerad. .NET 8 SDK installeras automatiskt när du väljer den här arbetsbelastningen.
Mer information finns i Installera .NET SDK med Visual Studio.
Skapa en lösning
Börja med att skapa en tom lösning för att placera klassbiblioteksprojektet i. En Visual Studio-lösning fungerar som en container för ett eller flera projekt. Du lägger till ytterligare relaterade projekt i samma lösning.
Så här skapar du den tomma lösningen:
Starta Visual Studio.
I startfönstret väljer du Skapa ett nytt projekt.
På sidan Skapa ett nytt projekt anger du lösningen i sökrutan. Välj mallen Tom lösning och välj sedan Nästa.
På sidan Konfigurera ditt nya projekt anger du ClassLibraryProjects i rutan Lösningsnamn. Välj sedan Skapa.
Skapa ett klassbiblioteksprojekt
Lägg till ett nytt .NET-klassbiblioteksprojekt med namnet "StringLibrary" i lösningen.
Högerklicka på lösningen i Solution Explorer och välj Lägg till>nytt projekt.
På sidan Lägg till ett nytt projekt anger du biblioteket i sökrutan. Välj C# eller Visual Basic i listan Språk och välj sedan Alla plattformar i listan Plattform. Välj mallen Klassbibliotek och välj sedan Nästa.
På sidan Konfigurera det nya projektet anger du StringLibrary i rutan Projektnamn och väljer sedan Nästa.
På sidan Ytterligare information väljer du .NET 8 (förhandsversion) och sedan Skapa.
Kontrollera att biblioteket har rätt version av .NET. Högerklicka på biblioteksprojektet i Solution Explorer och välj sedan Egenskaper. Textrutan Målramverk visar att projektet riktar in sig på .NET 7.0.
Om du använder Visual Basic rensar du texten i textrutan Rotnamnområde .
För varje projekt skapar Visual Basic automatiskt ett namnområde som motsvarar projektnamnet. I den här självstudien definierar du ett toppnivånamnområde med hjälp av nyckelordet
namespace
i kodfilen.Ersätt koden i kodfönstret för Class1.cs eller Class1.vb med följande kod och spara filen. Om det språk du vill använda inte visas ändrar du språkväljaren överst på sidan.
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
Klassbiblioteket,
UtilityLibraries.StringLibrary
, innehåller en metod med namnetStartsWithUpper
. Den här metoden returnerar ett Boolean värde som anger om den aktuella stränginstansen börjar med ett versalt tecken. Unicode-standarden skiljer versaler från gemener. Metoden Char.IsUpper(Char) returnerartrue
om ett tecken är versaler.StartsWithUpper
implementeras som en tilläggsmetod så att du kan anropa den som om den var medlem i String klassen. Frågetecknet (?
) efterstring
i C#-koden anger att strängen kan vara null.På menyraden väljer du Skapa>bygglösning eller trycker på Ctrl+Skift+B för att kontrollera att projektet kompileras utan fel.
Lägga till en konsolapp i lösningen
Lägg till ett konsolprogram som använder klassbiblioteket. Appen uppmanar användaren att ange en sträng och rapportera om strängen börjar med ett versalt tecken.
Lägg till ett nytt .NET-konsolprogram med namnet "ShowCase" i lösningen.
Högerklicka på lösningen i Solution Explorer och välj Lägg till>nytt projekt.
På sidan Lägg till ett nytt projekt anger du konsolen i sökrutan. Välj C# eller Visual Basic i listan Språk och välj sedan Alla plattformar i listan Plattform.
Välj mallen Konsolprogram och välj sedan Nästa.
På sidan Konfigurera ditt nya projekt anger du ShowCase i rutan Projektnamn . Välj sedan Nästa.
På sidan Ytterligare information väljer du .NET 8 (förhandsversion) i rutan Framework . Välj sedan Skapa.
I kodfönstret för filen Program.cs eller Program.vb ersätter du all kod med följande kod.
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
Koden använder variabeln
row
för att upprätthålla antalet rader med data som skrivits till konsolfönstret. När den är större än eller lika med 25 rensar koden konsolfönstret och visar ett meddelande till användaren.Programmet uppmanar användaren att ange en sträng. Det anger om strängen börjar med ett versalt tecken. Om användaren trycker på Retur utan att ange en sträng avslutas programmet och konsolfönstret stängs.
Lägga till en projektreferens
Till en början har det nya konsolappprojektet inte åtkomst till klassbiblioteket. Om du vill tillåta att den anropar metoder i klassbiblioteket skapar du en projektreferens till klassbiblioteksprojektet.
Högerklicka på projektets nod Beroenden i Solution Explorer och välj Lägg till projektreferens
ShowCase
.I dialogrutan Referenshanteraren väljer du StringLibrary-projektet och väljer OK.
Kör programmet
Högerklicka på Projektet ShowCase i Solution Explorer och välj Ange som StartUp Project på snabbmenyn.
Tryck på Ctrl+F5 för att kompilera och köra programmet utan att felsöka.
Prova programmet genom att ange strängar och trycka på Retur och sedan trycka på Retur för att avsluta.
Ytterligare resurser
Nästa steg
I den här självstudien skapade du ett klassbibliotek. I nästa självstudie får du lära dig hur du enhetstestar klassbiblioteket.
Eller så kan du hoppa över automatiserad enhetstestning och lära dig hur du delar biblioteket genom att skapa ett NuGet-paket:
Eller lär dig hur du publicerar en konsolapp. Om du publicerar konsolappen från den lösning som du skapade i den här självstudien följer klassbiblioteket med den som en .dll-fil .
I den här självstudien skapar du ett enkelt klassbibliotek som innehåller en enda stränghanteringsmetod.
Ett klassbibliotek definierar typer och metoder som anropas av ett program. Om biblioteket är avsett för .NET Standard 2.0 kan det anropas av alla .NET-implementeringar (inklusive .NET Framework) som stöder .NET Standard 2.0. Om biblioteket är avsett för .NET 7 kan det anropas av alla program som riktar sig till .NET 7. Den här självstudien visar hur du riktar in dig på .NET 7.
När du skapar ett klassbibliotek kan du distribuera det som ett NuGet-paket eller som en komponent som paketeras med det program som använder det.
Förutsättningar
Visual Studio 2022 version 17.4 med arbetsbelastningen .NET Desktop Development installerad. .NET 7 SDK installeras automatiskt när du väljer den här arbetsbelastningen.
Mer information finns i Installera .NET SDK med Visual Studio.
Skapa en lösning
Börja med att skapa en tom lösning för att placera klassbiblioteksprojektet i. En Visual Studio-lösning fungerar som en container för ett eller flera projekt. Du lägger till ytterligare relaterade projekt i samma lösning.
Så här skapar du den tomma lösningen:
Starta Visual Studio.
I startfönstret väljer du Skapa ett nytt projekt.
På sidan Skapa ett nytt projekt anger du lösningen i sökrutan. Välj mallen Tom lösning och välj sedan Nästa.
På sidan Konfigurera ditt nya projekt anger du ClassLibraryProjects i rutan Lösningsnamn. Välj sedan Skapa.
Skapa ett klassbiblioteksprojekt
Lägg till ett nytt .NET-klassbiblioteksprojekt med namnet "StringLibrary" i lösningen.
Högerklicka på lösningen i Solution Explorer och välj Lägg till>nytt projekt.
På sidan Lägg till ett nytt projekt anger du biblioteket i sökrutan. Välj C# eller Visual Basic i listan Språk och välj sedan Alla plattformar i listan Plattform. Välj mallen Klassbibliotek och välj sedan Nästa.
På sidan Konfigurera det nya projektet anger du StringLibrary i rutan Projektnamn och väljer sedan Nästa.
På sidan Ytterligare information väljer du .NET 7 (Standard-term support)och väljer sedan Skapa.
Kontrollera att biblioteket har rätt version av .NET. Högerklicka på biblioteksprojektet i Solution Explorer och välj sedan Egenskaper. Textrutan Målramverk visar att projektet riktar in sig på .NET 7.0.
Om du använder Visual Basic rensar du texten i textrutan Rotnamnområde .
För varje projekt skapar Visual Basic automatiskt ett namnområde som motsvarar projektnamnet. I den här självstudien definierar du ett toppnivånamnområde med hjälp av nyckelordet
namespace
i kodfilen.Ersätt koden i kodfönstret för Class1.cs eller Class1.vb med följande kod och spara filen. Om det språk du vill använda inte visas ändrar du språkväljaren överst på sidan.
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
Klassbiblioteket,
UtilityLibraries.StringLibrary
, innehåller en metod med namnetStartsWithUpper
. Den här metoden returnerar ett Boolean värde som anger om den aktuella stränginstansen börjar med ett versalt tecken. Unicode-standarden skiljer versaler från gemener. Metoden Char.IsUpper(Char) returnerartrue
om ett tecken är versaler.StartsWithUpper
implementeras som en tilläggsmetod så att du kan anropa den som om den var medlem i String klassen. Frågetecknet (?
) efterstring
i C#-koden anger att strängen kan vara null.På menyraden väljer du Skapa>bygglösning eller trycker på Ctrl+Skift+B för att kontrollera att projektet kompileras utan fel.
Lägga till en konsolapp i lösningen
Lägg till ett konsolprogram som använder klassbiblioteket. Appen uppmanar användaren att ange en sträng och rapportera om strängen börjar med ett versalt tecken.
Lägg till ett nytt .NET-konsolprogram med namnet "ShowCase" i lösningen.
Högerklicka på lösningen i Solution Explorer och välj Lägg till>nytt projekt.
På sidan Lägg till ett nytt projekt anger du konsolen i sökrutan. Välj C# eller Visual Basic i listan Språk och välj sedan Alla plattformar i listan Plattform.
Välj mallen Konsolprogram och välj sedan Nästa.
På sidan Konfigurera ditt nya projekt anger du ShowCase i rutan Projektnamn . Välj sedan Nästa.
På sidan Ytterligare information väljer du .NET 7 (Standard-term support) i rutan Framework . Välj sedan Skapa.
I kodfönstret för filen Program.cs eller Program.vb ersätter du all kod med följande kod.
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
Koden använder variabeln
row
för att upprätthålla antalet rader med data som skrivits till konsolfönstret. När den är större än eller lika med 25 rensar koden konsolfönstret och visar ett meddelande till användaren.Programmet uppmanar användaren att ange en sträng. Det anger om strängen börjar med ett versalt tecken. Om användaren trycker på Retur utan att ange en sträng avslutas programmet och konsolfönstret stängs.
Lägga till en projektreferens
Till en början har det nya konsolappprojektet inte åtkomst till klassbiblioteket. Om du vill tillåta att den anropar metoder i klassbiblioteket skapar du en projektreferens till klassbiblioteksprojektet.
Högerklicka på projektets nod Beroenden i Solution Explorer och välj Lägg till projektreferens
ShowCase
.I dialogrutan Referenshanteraren väljer du StringLibrary-projektet och väljer OK.
Kör programmet
Högerklicka på Projektet ShowCase i Solution Explorer och välj Ange som StartUp Project på snabbmenyn.
Tryck på Ctrl+F5 för att kompilera och köra programmet utan att felsöka.
Prova programmet genom att ange strängar och trycka på Retur och sedan trycka på Retur för att avsluta.
Ytterligare resurser
Nästa steg
I den här självstudien skapade du ett klassbibliotek. I nästa självstudie får du lära dig hur du enhetstestar klassbiblioteket.
Eller så kan du hoppa över automatiserad enhetstestning och lära dig hur du delar biblioteket genom att skapa ett NuGet-paket:
Eller lär dig hur du publicerar en konsolapp. Om du publicerar konsolappen från den lösning som du skapade i den här självstudien följer klassbiblioteket med den som en .dll-fil .
I den här självstudien skapar du ett enkelt klassbibliotek som innehåller en enda stränghanteringsmetod.
Ett klassbibliotek definierar typer och metoder som anropas av ett program. Om biblioteket är avsett för .NET Standard 2.0 kan det anropas av alla .NET-implementeringar (inklusive .NET Framework) som stöder .NET Standard 2.0. Om biblioteket riktar in sig på .NET 6 kan det anropas av alla program som riktar sig mot .NET 6. Den här självstudien visar hur du riktar in dig på .NET 6.
När du skapar ett klassbibliotek kan du distribuera det som ett NuGet-paket eller som en komponent som paketeras med det program som använder det.
Förutsättningar
Visual Studio 2022 version 17.0.0 Preview med arbetsbelastningen .NET Desktop Development installerad. .NET 6 SDK installeras automatiskt när du väljer den här arbetsbelastningen.
Mer information finns i Installera .NET SDK med Visual Studio.
Skapa en lösning
Börja med att skapa en tom lösning för att placera klassbiblioteksprojektet i. En Visual Studio-lösning fungerar som en container för ett eller flera projekt. Du lägger till ytterligare relaterade projekt i samma lösning.
Så här skapar du den tomma lösningen:
Starta Visual Studio.
I startfönstret väljer du Skapa ett nytt projekt.
På sidan Skapa ett nytt projekt anger du lösningen i sökrutan. Välj mallen Tom lösning och välj sedan Nästa.
På sidan Konfigurera ditt nya projekt anger du ClassLibraryProjects i rutan Lösningsnamn. Välj sedan Skapa.
Skapa ett klassbiblioteksprojekt
Lägg till ett nytt .NET-klassbiblioteksprojekt med namnet "StringLibrary" i lösningen.
Högerklicka på lösningen i Solution Explorer och välj Lägg till>nytt projekt.
På sidan Lägg till ett nytt projekt anger du biblioteket i sökrutan. Välj C# eller Visual Basic i listan Språk och välj sedan Alla plattformar i listan Plattform. Välj mallen Klassbibliotek och välj sedan Nästa.
På sidan Konfigurera det nya projektet anger du StringLibrary i rutan Projektnamn och väljer sedan Nästa.
På sidan Ytterligare information väljer du .NET 6 (långsiktigt stöd) och väljer sedan Skapa.
Kontrollera att biblioteket har rätt version av .NET. Högerklicka på biblioteksprojektet i Solution Explorer och välj sedan Egenskaper. Textrutan Målramverk visar att projektet riktar in sig på .NET 6.0.
Om du använder Visual Basic rensar du texten i textrutan Rotnamnområde .
För varje projekt skapar Visual Basic automatiskt ett namnområde som motsvarar projektnamnet. I den här självstudien definierar du ett toppnivånamnområde med hjälp av nyckelordet
namespace
i kodfilen.Ersätt koden i kodfönstret för Class1.cs eller Class1.vb med följande kod och spara filen. Om det språk du vill använda inte visas ändrar du språkväljaren överst på sidan.
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
Klassbiblioteket,
UtilityLibraries.StringLibrary
, innehåller en metod med namnetStartsWithUpper
. Den här metoden returnerar ett Boolean värde som anger om den aktuella stränginstansen börjar med ett versalt tecken. Unicode-standarden skiljer versaler från gemener. Metoden Char.IsUpper(Char) returnerartrue
om ett tecken är versaler.StartsWithUpper
implementeras som en tilläggsmetod så att du kan anropa den som om den var medlem i String klassen. Frågetecknet (?
) efterstring
i C#-koden anger att strängen kan vara null.På menyraden väljer du Skapa>bygglösning eller trycker på Ctrl+Skift+B för att kontrollera att projektet kompileras utan fel.
Lägga till en konsolapp i lösningen
Lägg till ett konsolprogram som använder klassbiblioteket. Appen uppmanar användaren att ange en sträng och rapportera om strängen börjar med ett versalt tecken.
Lägg till ett nytt .NET-konsolprogram med namnet "ShowCase" i lösningen.
Högerklicka på lösningen i Solution Explorer och välj Lägg till>nytt projekt.
På sidan Lägg till ett nytt projekt anger du konsolen i sökrutan. Välj C# eller Visual Basic i listan Språk och välj sedan Alla plattformar i listan Plattform.
Välj mallen Konsolprogram och välj sedan Nästa.
På sidan Konfigurera ditt nya projekt anger du ShowCase i rutan Projektnamn . Välj sedan Nästa.
På sidan Ytterligare information väljer du .NET 6 (långsiktigt stöd) i rutan Framework . Välj sedan Skapa.
I kodfönstret för filen Program.cs eller Program.vb ersätter du all kod med följande kod.
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
Koden använder variabeln
row
för att upprätthålla antalet rader med data som skrivits till konsolfönstret. När den är större än eller lika med 25 rensar koden konsolfönstret och visar ett meddelande till användaren.Programmet uppmanar användaren att ange en sträng. Det anger om strängen börjar med ett versalt tecken. Om användaren trycker på Retur utan att ange en sträng avslutas programmet och konsolfönstret stängs.
Lägga till en projektreferens
Till en början har det nya konsolappprojektet inte åtkomst till klassbiblioteket. Om du vill tillåta att den anropar metoder i klassbiblioteket skapar du en projektreferens till klassbiblioteksprojektet.
Högerklicka på projektets nod Beroenden i Solution Explorer och välj Lägg till projektreferens
ShowCase
.I dialogrutan Referenshanteraren väljer du StringLibrary-projektet och väljer OK.
Kör programmet
Högerklicka på Projektet ShowCase i Solution Explorer och välj Ange som StartUp Project på snabbmenyn.
Tryck på Ctrl+F5 för att kompilera och köra programmet utan att felsöka.
Prova programmet genom att ange strängar och trycka på Retur och sedan trycka på Retur för att avsluta.
Ytterligare resurser
Nästa steg
I den här självstudien skapade du ett klassbibliotek. I nästa självstudie får du lära dig hur du enhetstestar klassbiblioteket.
Eller så kan du hoppa över automatiserad enhetstestning och lära dig hur du delar biblioteket genom att skapa ett NuGet-paket:
Eller lär dig hur du publicerar en konsolapp. Om du publicerar konsolappen från den lösning som du skapade i den här självstudien följer klassbiblioteket med den som en .dll-fil .