Tutorial: Criar uma biblioteca de classes .NET usando o Visual Studio Code
Neste tutorial, você cria uma biblioteca de utilitários simples que contém um único método de manipulação de cadeia de caracteres.
Uma biblioteca de classes define tipos e métodos que são chamados por um aplicativo. Se a biblioteca tiver como destino o .NET Standard 2.0, ela poderá ser chamada por qualquer implementação do .NET (incluindo o .NET Framework) que ofereça suporte ao .NET Standard 2.0. Se a biblioteca tiver como destino o .NET 8, ela poderá ser chamada por qualquer aplicativo destinado ao .NET 8. Este tutorial mostra como direcionar o .NET 8.
Ao criar uma biblioteca de classes, você pode distribuí-la como um componente de terceiros ou como um componente agregado com um ou mais aplicativos.
Pré-requisitos
Visual Studio Code com a extensão C# instalada.
Se você tiver a extensão C# Dev Kit instalada, desinstale-a ou desative-a. Ele não é usado por esta série de tutoriais.
Para obter informações sobre como instalar extensões no Visual Studio Code, consulte VS Code Extension Marketplace.
Criar uma solução
Comece criando uma solução em branco para colocar o projeto de biblioteca de classes. Uma solução serve como um contêiner para um ou mais projetos. Você adicionará projetos adicionais relacionados à mesma solução.
Inicie o Visual Studio Code.
Selecione File>Open Folder (Abrir... no macOS) no menu principal
Na caixa de diálogo Abrir pasta, crie uma pasta ClassLibraryProjects e clique em Selecionar pasta (Abrir no macOS).
Abra o Terminal no Visual Studio Code selecionando Exibir>Terminal no menu principal.
O Terminal é aberto com o prompt de comando na pasta ClassLibraryProjects .
No Terminal, digite o seguinte comando:
dotnet new sln
A saída do terminal se parece com o exemplo a seguir:
The template "Solution File" was created successfully.
Criar um projeto de biblioteca de classes
Adicione um novo projeto de biblioteca de classes .NET chamado "StringLibrary" à solução.
No terminal, execute o seguinte comando para criar o projeto de biblioteca:
dotnet new classlib -o StringLibrary
O
-o
comando or--output
especifica o local para colocar a saída gerada.A saída do terminal se parece com o exemplo a seguir:
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.
Execute o seguinte comando para adicionar o projeto de biblioteca à solução:
dotnet sln add StringLibrary/StringLibrary.csproj
A saída do terminal se parece com o exemplo a seguir:
Project `StringLibrary\StringLibrary.csproj` added to the solution.
Verifique se a biblioteca tem como destino o .NET 8. No Explorer, abra StringLibrary/StringLibrary.csproj.
O
TargetFramework
elemento mostra que o projeto tem como alvo o .NET 8.0.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> </PropertyGroup> </Project>
Abra Class1.cs e substitua o código pelo código a seguir.
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); } }
A biblioteca de classes, ,
UtilityLibraries.StringLibrary
contém um método chamadoStartsWithUpper
. Esse método retorna um valor que indica se a ocorrência de cadeia de caracteres atual começa com um Boolean caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O Char.IsUpper(Char) método retornatrue
se um caractere for maiúsculo.StartsWithUpper
é implementado como um método de extensão para que você possa chamá-lo como se fosse um membro da String classe.Guarde o ficheiro.
Execute o seguinte comando para criar a solução e verificar se o projeto é compilado sem erros.
dotnet build
A saída do terminal se parece com o exemplo a seguir:
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
Adicionar um aplicativo de console à solução
Adicione um aplicativo de console que use a biblioteca de classes. O aplicativo solicitará que o usuário insira uma cadeia de caracteres e informe se a cadeia de caracteres começa com um caractere maiúsculo.
No terminal, execute o seguinte comando para criar o projeto de aplicativo de console:
dotnet new console -o ShowCase
A saída do terminal se parece com o exemplo a seguir:
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.
Execute o seguinte comando para adicionar o projeto de aplicativo de console à solução:
dotnet sln add ShowCase/ShowCase.csproj
A saída do terminal se parece com o exemplo a seguir:
Project `ShowCase\ShowCase.csproj` added to the solution.
Abra ShowCase/Program.cs e substitua todo o código pelo código a seguir.
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; } } }
O código usa a
row
variável para manter uma contagem do número de linhas de dados gravados na janela do console. Sempre que for maior ou igual a 25, o código limpa a janela do console e exibe uma mensagem para o usuário.O programa solicita que o usuário insira uma cadeia de caracteres. Ele indica se a cadeia de caracteres começa com um caractere maiúsculo. Se o usuário pressionar a tecla Enter sem inserir uma cadeia de caracteres, o aplicativo termina e a janela do console é fechada.
Guardar as suas alterações.
Adicionar uma referência de projeto
Inicialmente, o novo projeto de aplicativo de console não tem acesso à biblioteca de classes. Para permitir que ele chame métodos na biblioteca de classes, crie uma referência de projeto para o projeto de biblioteca de classes.
Execute o seguinte comando:
dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
A saída do terminal se parece com o exemplo a seguir:
Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
Executar a aplicação
Execute o seguinte comando no terminal:
dotnet run --project ShowCase/ShowCase.csproj
Experimente o programa inserindo strings e pressionando Enter, em seguida, pressione Enter para sair.
A saída do terminal se parece com o exemplo a seguir:
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
Recursos adicionais
Próximos passos
Neste tutorial, você criou uma solução, adicionou um projeto de biblioteca e adicionou um projeto de aplicativo de console que usa a biblioteca. No próximo tutorial, você adiciona um projeto de teste de unidade à solução.
Neste tutorial, você cria uma biblioteca de utilitários simples que contém um único método de manipulação de cadeia de caracteres.
Uma biblioteca de classes define tipos e métodos que são chamados por um aplicativo. Se a biblioteca tiver como destino o .NET Standard 2.0, ela poderá ser chamada por qualquer implementação do .NET (incluindo o .NET Framework) que ofereça suporte ao .NET Standard 2.0. Se a biblioteca tiver como destino o .NET 7, ela poderá ser chamada por qualquer aplicativo destinado ao .NET 7. Este tutorial mostra como direcionar o .NET 7.
Ao criar uma biblioteca de classes, você pode distribuí-la como um componente de terceiros ou como um componente agregado com um ou mais aplicativos.
Pré-requisitos
- Visual Studio Code com a extensão C# instalada. Para obter informações sobre como instalar extensões no Visual Studio Code, consulte VS Code Extension Marketplace.
- O SDK do .NET 7.
Criar uma solução
Comece criando uma solução em branco para colocar o projeto de biblioteca de classes. Uma solução serve como um contêiner para um ou mais projetos. Você adicionará projetos adicionais relacionados à mesma solução.
Inicie o Visual Studio Code.
Selecione File>Open Folder (Abrir... no macOS) no menu principal
Na caixa de diálogo Abrir pasta, crie uma pasta ClassLibraryProjects e clique em Selecionar pasta (Abrir no macOS).
Abra o Terminal no Visual Studio Code selecionando Exibir>Terminal no menu principal.
O Terminal é aberto com o prompt de comando na pasta ClassLibraryProjects .
No Terminal, digite o seguinte comando:
dotnet new sln
A saída do terminal se parece com o exemplo a seguir:
The template "Solution File" was created successfully.
Criar um projeto de biblioteca de classes
Adicione um novo projeto de biblioteca de classes .NET chamado "StringLibrary" à solução.
No terminal, execute o seguinte comando para criar o projeto de biblioteca:
dotnet new classlib -o StringLibrary
O
-o
comando or--output
especifica o local para colocar a saída gerada.A saída do terminal se parece com o exemplo a seguir:
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.
Execute o seguinte comando para adicionar o projeto de biblioteca à solução:
dotnet sln add StringLibrary/StringLibrary.csproj
A saída do terminal se parece com o exemplo a seguir:
Project `StringLibrary\StringLibrary.csproj` added to the solution.
Verifique se a biblioteca tem como destino o .NET 7. No Explorer, abra StringLibrary/StringLibrary.csproj.
O
TargetFramework
elemento mostra que o projeto tem como alvo o .NET 7.0.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> </PropertyGroup> </Project>
Abra Class1.cs e substitua o código pelo código a seguir.
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); } }
A biblioteca de classes, ,
UtilityLibraries.StringLibrary
contém um método chamadoStartsWithUpper
. Esse método retorna um valor que indica se a ocorrência de cadeia de caracteres atual começa com um Boolean caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O Char.IsUpper(Char) método retornatrue
se um caractere for maiúsculo.StartsWithUpper
é implementado como um método de extensão para que você possa chamá-lo como se fosse um membro da String classe.Guarde o ficheiro.
Execute o seguinte comando para criar a solução e verificar se o projeto é compilado sem erros.
dotnet build
A saída do terminal se parece com o exemplo a seguir:
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
Adicionar um aplicativo de console à solução
Adicione um aplicativo de console que use a biblioteca de classes. O aplicativo solicitará que o usuário insira uma cadeia de caracteres e informe se a cadeia de caracteres começa com um caractere maiúsculo.
No terminal, execute o seguinte comando para criar o projeto de aplicativo de console:
dotnet new console -o ShowCase
A saída do terminal se parece com o exemplo a seguir:
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.
Execute o seguinte comando para adicionar o projeto de aplicativo de console à solução:
dotnet sln add ShowCase/ShowCase.csproj
A saída do terminal se parece com o exemplo a seguir:
Project `ShowCase\ShowCase.csproj` added to the solution.
Abra ShowCase/Program.cs e substitua todo o código pelo código a seguir.
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; } } }
O código usa a
row
variável para manter uma contagem do número de linhas de dados gravados na janela do console. Sempre que for maior ou igual a 25, o código limpa a janela do console e exibe uma mensagem para o usuário.O programa solicita que o usuário insira uma cadeia de caracteres. Ele indica se a cadeia de caracteres começa com um caractere maiúsculo. Se o usuário pressionar a tecla Enter sem inserir uma cadeia de caracteres, o aplicativo termina e a janela do console é fechada.
Guardar as suas alterações.
Adicionar uma referência de projeto
Inicialmente, o novo projeto de aplicativo de console não tem acesso à biblioteca de classes. Para permitir que ele chame métodos na biblioteca de classes, crie uma referência de projeto para o projeto de biblioteca de classes.
Execute o seguinte comando:
dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
A saída do terminal se parece com o exemplo a seguir:
Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
Executar a aplicação
Execute o seguinte comando no terminal:
dotnet run --project ShowCase/ShowCase.csproj
Experimente o programa inserindo strings e pressionando Enter, em seguida, pressione Enter para sair.
A saída do terminal se parece com o exemplo a seguir:
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
Recursos adicionais
Próximos passos
Neste tutorial, você criou uma solução, adicionou um projeto de biblioteca e adicionou um projeto de aplicativo de console que usa a biblioteca. No próximo tutorial, você adiciona um projeto de teste de unidade à solução.
Neste tutorial, você cria uma biblioteca de utilitários simples que contém um único método de manipulação de cadeia de caracteres.
Uma biblioteca de classes define tipos e métodos que são chamados por um aplicativo. Se a biblioteca tiver como destino o .NET Standard 2.0, ela poderá ser chamada por qualquer implementação do .NET (incluindo o .NET Framework) que ofereça suporte ao .NET Standard 2.0. Se a biblioteca tiver como destino o .NET 6, ela poderá ser chamada por qualquer aplicativo destinado ao .NET 6. Este tutorial mostra como direcionar o .NET 6.
Ao criar uma biblioteca de classes, você pode distribuí-la como um componente de terceiros ou como um componente agregado com um ou mais aplicativos.
Pré-requisitos
- Visual Studio Code com a extensão C# instalada. Para obter informações sobre como instalar extensões no Visual Studio Code, consulte VS Code Extension Marketplace.
- O SDK do .NET 6.
Criar uma solução
Comece criando uma solução em branco para colocar o projeto de biblioteca de classes. Uma solução serve como um contêiner para um ou mais projetos. Você adicionará projetos adicionais relacionados à mesma solução.
Inicie o Visual Studio Code.
Selecione File>Open Folder (Abrir... no macOS) no menu principal
Na caixa de diálogo Abrir pasta, crie uma pasta ClassLibraryProjects e clique em Selecionar pasta (Abrir no macOS).
Abra o Terminal no Visual Studio Code selecionando Exibir>Terminal no menu principal.
O Terminal é aberto com o prompt de comando na pasta ClassLibraryProjects .
No Terminal, digite o seguinte comando:
dotnet new sln
A saída do terminal se parece com o exemplo a seguir:
The template "Solution File" was created successfully.
Criar um projeto de biblioteca de classes
Adicione um novo projeto de biblioteca de classes .NET chamado "StringLibrary" à solução.
No terminal, execute o seguinte comando para criar o projeto de biblioteca:
dotnet new classlib -f net6.0 -o StringLibrary
O
-f
comando or--framework
altera a estrutura de destino padrão paranet6.0
a versão.O
-o
comando or--output
especifica o local para colocar a saída gerada.A saída do terminal se parece com o exemplo a seguir:
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.
Execute o seguinte comando para adicionar o projeto de biblioteca à solução:
dotnet sln add StringLibrary/StringLibrary.csproj
A saída do terminal se parece com o exemplo a seguir:
Project `StringLibrary\StringLibrary.csproj` added to the solution.
Verifique se a biblioteca tem como destino o .NET 6. No Explorer, abra StringLibrary/StringLibrary.csproj.
O
TargetFramework
elemento mostra que o projeto tem como alvo o .NET 6.0.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> </PropertyGroup> </Project>
Abra Class1.cs e substitua o código pelo código a seguir.
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); } }
A biblioteca de classes, ,
UtilityLibraries.StringLibrary
contém um método chamadoStartsWithUpper
. Esse método retorna um valor que indica se a ocorrência de cadeia de caracteres atual começa com um Boolean caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O Char.IsUpper(Char) método retornatrue
se um caractere for maiúsculo.StartsWithUpper
é implementado como um método de extensão para que você possa chamá-lo como se fosse um membro da String classe.Guarde o ficheiro.
Execute o seguinte comando para criar a solução e verificar se o projeto é compilado sem erros.
dotnet build
A saída do terminal se parece com o exemplo a seguir:
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
Adicionar um aplicativo de console à solução
Adicione um aplicativo de console que use a biblioteca de classes. O aplicativo solicitará que o usuário insira uma cadeia de caracteres e informe se a cadeia de caracteres começa com um caractere maiúsculo.
No terminal, execute o seguinte comando para criar o projeto de aplicativo de console:
dotnet new console -f net6.0 -o ShowCase
A saída do terminal se parece com o exemplo a seguir:
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.
Execute o seguinte comando para adicionar o projeto de aplicativo de console à solução:
dotnet sln add ShowCase/ShowCase.csproj
A saída do terminal se parece com o exemplo a seguir:
Project `ShowCase\ShowCase.csproj` added to the solution.
Abra ShowCase/Program.cs e substitua todo o código pelo código a seguir.
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; } } }
O código usa a
row
variável para manter uma contagem do número de linhas de dados gravados na janela do console. Sempre que for maior ou igual a 25, o código limpa a janela do console e exibe uma mensagem para o usuário.O programa solicita que o usuário insira uma cadeia de caracteres. Ele indica se a cadeia de caracteres começa com um caractere maiúsculo. Se o usuário pressionar a tecla Enter sem inserir uma cadeia de caracteres, o aplicativo termina e a janela do console é fechada.
Guardar as suas alterações.
Adicionar uma referência de projeto
Inicialmente, o novo projeto de aplicativo de console não tem acesso à biblioteca de classes. Para permitir que ele chame métodos na biblioteca de classes, crie uma referência de projeto para o projeto de biblioteca de classes.
Execute o seguinte comando:
dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
A saída do terminal se parece com o exemplo a seguir:
Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
Executar a aplicação
Execute o seguinte comando no terminal:
dotnet run --project ShowCase/ShowCase.csproj
Experimente o programa inserindo strings e pressionando Enter, em seguida, pressione Enter para sair.
A saída do terminal se parece com o exemplo a seguir:
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
Recursos adicionais
Próximos passos
Neste tutorial, você criou uma solução, adicionou um projeto de biblioteca e adicionou um projeto de aplicativo de console que usa a biblioteca. No próximo tutorial, você adiciona um projeto de teste de unidade à solução.