Självstudie: Skapa ett .NET-klassbibliotek med Visual Studio Code
I den här självstudien skapar du ett enkelt verktygsbibliotek 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 en komponent från tredje part eller som en paketerad komponent med ett eller flera program.
Förutsättningar
Visual Studio Code med C#-tillägget installerat.
Om du har C# Dev Kit-tillägget installerat avinstallerar eller inaktiverar du det. Den används inte av den här självstudieserien.
Information om hur du installerar tillägg i Visual Studio Code finns i VS Code Extension Marketplace.
Skapa en lösning
Börja med att skapa en tom lösning för att placera klassbiblioteksprojektet i. En lösning fungerar som en container för ett eller flera projekt. Du lägger till ytterligare relaterade projekt i samma lösning.
Starta Visual Studio Code.
Välj Öppna filmapp> (Öppna... på macOS) på huvudmenyn
I dialogrutan Öppna mapp skapar du mappen ClassLibraryProjects och klickar på Välj mapp (Öppna i macOS).
Öppna terminaleni Visual Studio Code genom att välja Visa>terminal på huvudmenyn.
Terminalenöppnas med kommandotolken i mappen ClassLibraryProjects.
I terminalen anger du följande kommando:
dotnet new sln
Terminalutdata ser ut som i följande exempel:
The template "Solution File" was created successfully.
Skapa ett klassbiblioteksprojekt
Lägg till ett nytt .NET-klassbiblioteksprojekt med namnet "StringLibrary" i lösningen.
I terminalen kör du följande kommando för att skapa biblioteksprojektet:
dotnet new classlib -o StringLibrary
Kommandot
-o
eller--output
anger platsen där de genererade utdata ska placeras.Terminalutdata ser ut som i följande exempel:
The template "Class library" was created successfully. Processing post-creation actions... Running 'dotnet restore' on StringLibrary\StringLibrary.csproj... Determining projects to restore... Restored C:\Projects\ClassLibraryProjects\StringLibrary\StringLibrary.csproj (in 328 ms). Restore succeeded.
Kör följande kommando för att lägga till biblioteksprojektet i lösningen:
dotnet sln add StringLibrary/StringLibrary.csproj
Terminalutdata ser ut som i följande exempel:
Project `StringLibrary\StringLibrary.csproj` added to the solution.
Kontrollera att biblioteket är avsett för .NET 8. Öppna StringLibrary/StringLibrary.csproj i Utforskaren.
Elementet
TargetFramework
visar att projektet riktar in sig på .NET 8.0.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> </PropertyGroup> </Project>
Öppna Class1.cs och ersätt koden med följande kod.
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); } }
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.Spara filen.
Kör följande kommando för att skapa lösningen och kontrollera att projektet kompileras utan fel.
dotnet build
Terminalutdata ser ut som i följande exempel:
Microsoft (R) Build Engine version 17.8.0+b89cb5fde for .NET Copyright (C) Microsoft Corporation. All rights reserved. Determining projects to restore... All projects are up-to-date for restore. StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net8.0\StringLibrary.dll Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:02.78
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.
I terminalen kör du följande kommando för att skapa konsolappprojektet:
dotnet new console -o ShowCase
Terminalutdata ser ut som i följande exempel:
The template "Console Application" was created successfully. Processing post-creation actions... Running 'dotnet restore' on ShowCase\ShowCase.csproj... Determining projects to restore... Restored C:\Projects\ClassLibraryProjects\ShowCase\ShowCase.csproj (in 210 ms). Restore succeeded.
Kör följande kommando för att lägga till konsolappprojektet i lösningen:
dotnet sln add ShowCase/ShowCase.csproj
Terminalutdata ser ut som i följande exempel:
Project `ShowCase\ShowCase.csproj` added to the solution.
Öppna ShowCase/Program.cs och ersätt 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; } } }
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.
Spara dina ändringar.
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.
Kör följande kommando:
dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
Terminalutdata ser ut som i följande exempel:
Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
Kör appen
Kör följande kommando i terminalen:
dotnet run --project ShowCase/ShowCase.csproj
Prova programmet genom att ange strängar och trycka på Retur och sedan trycka på Retur för att avsluta.
Terminalutdata ser ut som i följande exempel:
Press <Enter> only to exit; otherwise, enter a string and press <Enter>: A string that starts with an uppercase letter Input: A string that starts with an uppercase letter Begins with uppercase? : Yes a string that starts with a lowercase letter Input: a string that starts with a lowercase letter Begins with uppercase? : No
Ytterligare resurser
Nästa steg
I den här självstudien skapade du en lösning, lade till ett biblioteksprojekt och lade till ett konsolappprojekt som använder biblioteket. I nästa självstudie lägger du till ett enhetstestprojekt i lösningen.
I den här självstudien skapar du ett enkelt verktygsbibliotek 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 en komponent från tredje part eller som en paketerad komponent med ett eller flera program.
Förutsättningar
- Visual Studio Code med C#-tillägget installerat. Information om hur du installerar tillägg i Visual Studio Code finns i VS Code Extension Marketplace.
- .NET 7 SDK.
Skapa en lösning
Börja med att skapa en tom lösning för att placera klassbiblioteksprojektet i. En lösning fungerar som en container för ett eller flera projekt. Du lägger till ytterligare relaterade projekt i samma lösning.
Starta Visual Studio Code.
Välj Öppna filmapp> (Öppna... på macOS) på huvudmenyn
I dialogrutan Öppna mapp skapar du mappen ClassLibraryProjects och klickar på Välj mapp (Öppna i macOS).
Öppna terminaleni Visual Studio Code genom att välja Visa>terminal på huvudmenyn.
Terminalenöppnas med kommandotolken i mappen ClassLibraryProjects.
I terminalen anger du följande kommando:
dotnet new sln
Terminalutdata ser ut som i följande exempel:
The template "Solution File" was created successfully.
Skapa ett klassbiblioteksprojekt
Lägg till ett nytt .NET-klassbiblioteksprojekt med namnet "StringLibrary" i lösningen.
I terminalen kör du följande kommando för att skapa biblioteksprojektet:
dotnet new classlib -o StringLibrary
Kommandot
-o
eller--output
anger platsen där de genererade utdata ska placeras.Terminalutdata ser ut som i följande exempel:
The template "Class library" was created successfully. Processing post-creation actions... Running 'dotnet restore' on StringLibrary\StringLibrary.csproj... Determining projects to restore... Restored C:\Projects\ClassLibraryProjects\StringLibrary\StringLibrary.csproj (in 328 ms). Restore succeeded.
Kör följande kommando för att lägga till biblioteksprojektet i lösningen:
dotnet sln add StringLibrary/StringLibrary.csproj
Terminalutdata ser ut som i följande exempel:
Project `StringLibrary\StringLibrary.csproj` added to the solution.
Kontrollera att biblioteket riktar in sig på .NET 7. Öppna StringLibrary/StringLibrary.csproj i Utforskaren.
Elementet
TargetFramework
visar att projektet riktar in sig på .NET 7.0.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> </PropertyGroup> </Project>
Öppna Class1.cs och ersätt koden med följande kod.
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); } }
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.Spara filen.
Kör följande kommando för att skapa lösningen och kontrollera att projektet kompileras utan fel.
dotnet build
Terminalutdata ser ut som i följande exempel:
Microsoft (R) Build Engine version 16.7.4+b89cb5fde for .NET Copyright (C) Microsoft Corporation. All rights reserved. Determining projects to restore... All projects are up-to-date for restore. StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net7.0\StringLibrary.dll Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:02.78
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.
I terminalen kör du följande kommando för att skapa konsolappprojektet:
dotnet new console -o ShowCase
Terminalutdata ser ut som i följande exempel:
The template "Console Application" was created successfully. Processing post-creation actions... Running 'dotnet restore' on ShowCase\ShowCase.csproj... Determining projects to restore... Restored C:\Projects\ClassLibraryProjects\ShowCase\ShowCase.csproj (in 210 ms). Restore succeeded.
Kör följande kommando för att lägga till konsolappprojektet i lösningen:
dotnet sln add ShowCase/ShowCase.csproj
Terminalutdata ser ut som i följande exempel:
Project `ShowCase\ShowCase.csproj` added to the solution.
Öppna ShowCase/Program.cs och ersätt 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; } } }
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.
Spara dina ändringar.
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.
Kör följande kommando:
dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
Terminalutdata ser ut som i följande exempel:
Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
Kör appen
Kör följande kommando i terminalen:
dotnet run --project ShowCase/ShowCase.csproj
Prova programmet genom att ange strängar och trycka på Retur och sedan trycka på Retur för att avsluta.
Terminalutdata ser ut som i följande exempel:
Press <Enter> only to exit; otherwise, enter a string and press <Enter>: A string that starts with an uppercase letter Input: A string that starts with an uppercase letter Begins with uppercase? : Yes a string that starts with a lowercase letter Input: a string that starts with a lowercase letter Begins with uppercase? : No
Ytterligare resurser
Nästa steg
I den här självstudien skapade du en lösning, lade till ett biblioteksprojekt och lade till ett konsolappprojekt som använder biblioteket. I nästa självstudie lägger du till ett enhetstestprojekt i lösningen.
I den här självstudien skapar du ett enkelt verktygsbibliotek 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 en komponent från tredje part eller som en paketerad komponent med ett eller flera program.
Förutsättningar
- Visual Studio Code med C#-tillägget installerat. Information om hur du installerar tillägg i Visual Studio Code finns i VS Code Extension Marketplace.
- .NET 6 SDK.
Skapa en lösning
Börja med att skapa en tom lösning för att placera klassbiblioteksprojektet i. En lösning fungerar som en container för ett eller flera projekt. Du lägger till ytterligare relaterade projekt i samma lösning.
Starta Visual Studio Code.
Välj Öppna filmapp> (Öppna... på macOS) på huvudmenyn
I dialogrutan Öppna mapp skapar du mappen ClassLibraryProjects och klickar på Välj mapp (Öppna i macOS).
Öppna terminaleni Visual Studio Code genom att välja Visa>terminal på huvudmenyn.
Terminalenöppnas med kommandotolken i mappen ClassLibraryProjects.
I terminalen anger du följande kommando:
dotnet new sln
Terminalutdata ser ut som i följande exempel:
The template "Solution File" was created successfully.
Skapa ett klassbiblioteksprojekt
Lägg till ett nytt .NET-klassbiblioteksprojekt med namnet "StringLibrary" i lösningen.
I terminalen kör du följande kommando för att skapa biblioteksprojektet:
dotnet new classlib -f net6.0 -o StringLibrary
Kommandot
-f
eller--framework
ändrar standardmålramverket tillnet6.0
version.Kommandot
-o
eller--output
anger platsen där de genererade utdata ska placeras.Terminalutdata ser ut som i följande exempel:
The template "Class library" was created successfully. Processing post-creation actions... Running 'dotnet restore' on StringLibrary\StringLibrary.csproj... Determining projects to restore... Restored C:\Projects\ClassLibraryProjects\StringLibrary\StringLibrary.csproj (in 328 ms). Restore succeeded.
Kör följande kommando för att lägga till biblioteksprojektet i lösningen:
dotnet sln add StringLibrary/StringLibrary.csproj
Terminalutdata ser ut som i följande exempel:
Project `StringLibrary\StringLibrary.csproj` added to the solution.
Kontrollera att biblioteket är avsett för .NET 6. Öppna StringLibrary/StringLibrary.csproj i Utforskaren.
Elementet
TargetFramework
visar att projektet riktar in sig på .NET 6.0.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> </PropertyGroup> </Project>
Öppna Class1.cs och ersätt koden med följande kod.
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); } }
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.Spara filen.
Kör följande kommando för att skapa lösningen och kontrollera att projektet kompileras utan fel.
dotnet build
Terminalutdata ser ut som i följande exempel:
Microsoft (R) Build Engine version 16.7.0+b89cb5fde for .NET Copyright (C) Microsoft Corporation. All rights reserved. Determining projects to restore... All projects are up-to-date for restore. StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net6.0\StringLibrary.dll Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:02.78
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.
I terminalen kör du följande kommando för att skapa konsolappprojektet:
dotnet new console -f net6.0 -o ShowCase
Terminalutdata ser ut som i följande exempel:
The template "Console Application" was created successfully. Processing post-creation actions... Running 'dotnet restore' on ShowCase\ShowCase.csproj... Determining projects to restore... Restored C:\Projects\ClassLibraryProjects\ShowCase\ShowCase.csproj (in 210 ms). Restore succeeded.
Kör följande kommando för att lägga till konsolappprojektet i lösningen:
dotnet sln add ShowCase/ShowCase.csproj
Terminalutdata ser ut som i följande exempel:
Project `ShowCase\ShowCase.csproj` added to the solution.
Öppna ShowCase/Program.cs och ersätt 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; } } }
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.
Spara dina ändringar.
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.
Kör följande kommando:
dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
Terminalutdata ser ut som i följande exempel:
Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
Kör appen
Kör följande kommando i terminalen:
dotnet run --project ShowCase/ShowCase.csproj
Prova programmet genom att ange strängar och trycka på Retur och sedan trycka på Retur för att avsluta.
Terminalutdata ser ut som i följande exempel:
Press <Enter> only to exit; otherwise, enter a string and press <Enter>: A string that starts with an uppercase letter Input: A string that starts with an uppercase letter Begins with uppercase? : Yes a string that starts with a lowercase letter Input: a string that starts with a lowercase letter Begins with uppercase? : No
Ytterligare resurser
Nästa steg
I den här självstudien skapade du en lösning, lade till ett biblioteksprojekt och lade till ett konsolappprojekt som använder biblioteket. I nästa självstudie lägger du till ett enhetstestprojekt i lösningen.