Tutorial: criar uma biblioteca de classes .NET usando o Visual Studio Code
Neste tutorial, você vai criar uma biblioteca de utilitário simples que contém um só 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 for direcionada ao .NET Standard 2.0, ela poderá ser chamada por qualquer implementação do .NET (incluindo o .NET Framework) que dê suporte ao .NET Standard 2.0. Se a biblioteca tiver como destino o .NET 8, ela poderá ser chamada por qualquer aplicativo que tenha como destino o .NET 8. Este tutorial mostra como fazer para o destino do .NET 8.
Ao criar uma biblioteca de classes, você pode distribui-la como um componente de terceiros ou como um componente agrupado com um ou mais aplicativos.
Pré-requisitos
O Visual Studio Code com a extensão C# instalada.
Se você deve ter a extensão Kit de Desenvolvimento do C# instalada, desinstale-a ou a desabilite. Ela não é utilizada por esta série de tutoriais.
Para saber mais sobre como instalar extensões no Visual Studio Code, confira Marketplace de extensão do VS Code.
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 de um ou mais projetos. Você adicionará projetos adicionais relacionados à mesma solução.
Inicie o Visual Studio Code.
Selecione Arquivo>Abrir Pasta (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 é como no seguinte exemplo:
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" para a solução.
No terminal, execute o seguinte comando para criar o projeto de biblioteca:
dotnet new classlib -o StringLibrary
O comando
-o
ou--output
especifica o local para colocar a saída gerada.A saída do terminal é como no seguinte exemplo:
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 de utilitários à solução:
dotnet sln add StringLibrary/StringLibrary.csproj
A saída do terminal é como no seguinte exemplo:
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 elemento
TargetFramework
mostra que o projeto tem como destino 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 exibido 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 Boolean que indica se a instância atual da cadeia de caracteres começa com um caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O método Char.IsUpper(Char) retornarátrue
se um caractere for maiúsculo.StartsWithUpper
é implementado como um método de extensão para que você possa chamá-lo como se ele fosse um membro da classe String.Salve o arquivo.
Execute o comando a seguir para criar a solução e verificar se o projeto é compilado sem erro.
dotnet build
A saída do terminal é como no seguinte exemplo:
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 usa 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 é como no seguinte exemplo:
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 é como no seguinte exemplo:
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 variável
row
para manter uma contagem do número de linhas de dados gravadas na janela do console. Sempre que ela for igual ou superior 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 será encerrado e a janela do console será fechada.
Salve suas alterações.
Adicionar uma referência ao 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 da biblioteca de classes.
Execute o comando a seguir:
dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
A saída do terminal é como no seguinte exemplo:
Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
Executar o aplicativo
Execute o seguinte comando no terminal:
dotnet run --project ShowCase/ShowCase.csproj
Experimente o programa inserindo cadeias de caracteres e pressionando Enter. Depois pressione Enter para sair.
A saída do terminal é como no seguinte exemplo:
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óximas etapas
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ê adicionará um projeto de teste de unidade à solução.
Neste tutorial, você vai criar uma biblioteca de utilitário simples que contém um só 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 for direcionada ao .NET Standard 2.0, ela poderá ser chamada por qualquer implementação do .NET (incluindo o .NET Framework) que dê suporte ao .NET Standard 2.0. Se a biblioteca for direcionada ao .NET 7, pode ser chamada por qualquer aplicativo direcionado ao .NET 7. Este tutorial mostra como fazer o direcionamento para o .NET 7.
Ao criar uma biblioteca de classes, você pode distribui-la como um componente de terceiros ou como um componente agrupado com um ou mais aplicativos.
Pré-requisitos
- O Visual Studio Code com a extensão C# instalada. Para saber mais sobre como instalar extensões no Visual Studio Code, confira Marketplace de extensão do VS Code.
- 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 de um ou mais projetos. Você adicionará projetos adicionais relacionados à mesma solução.
Inicie o Visual Studio Code.
Selecione Arquivo>Abrir Pasta (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 é como no seguinte exemplo:
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" para a solução.
No terminal, execute o seguinte comando para criar o projeto de biblioteca:
dotnet new classlib -o StringLibrary
O comando
-o
ou--output
especifica o local para colocar a saída gerada.A saída do terminal é como no seguinte exemplo:
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 de utilitários à solução:
dotnet sln add StringLibrary/StringLibrary.csproj
A saída do terminal é como no seguinte exemplo:
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 elemento
TargetFramework
mostra que o projeto tem como destino 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 exibido 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 Boolean que indica se a instância atual da cadeia de caracteres começa com um caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O método Char.IsUpper(Char) retornarátrue
se um caractere for maiúsculo.StartsWithUpper
é implementado como um método de extensão para que você possa chamá-lo como se ele fosse um membro da classe String.Salve o arquivo.
Execute o comando a seguir para criar a solução e verificar se o projeto é compilado sem erro.
dotnet build
A saída do terminal é como no seguinte exemplo:
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 usa 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 é como no seguinte exemplo:
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 é como no seguinte exemplo:
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 variável
row
para manter uma contagem do número de linhas de dados gravadas na janela do console. Sempre que ela for igual ou superior 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 será encerrado e a janela do console será fechada.
Salve suas alterações.
Adicionar uma referência ao 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 da biblioteca de classes.
Execute o comando a seguir:
dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
A saída do terminal é como no seguinte exemplo:
Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
Executar o aplicativo
Execute o seguinte comando no terminal:
dotnet run --project ShowCase/ShowCase.csproj
Experimente o programa inserindo cadeias de caracteres e pressionando Enter. Depois pressione Enter para sair.
A saída do terminal é como no seguinte exemplo:
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óximas etapas
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ê adicionará um projeto de teste de unidade à solução.
Neste tutorial, você vai criar uma biblioteca de utilitário simples que contém um só 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 for direcionada ao .NET Standard 2.0, ela poderá ser chamada por qualquer implementação do .NET (incluindo o .NET Framework) que dê suporte ao .NET Standard 2.0. Se a biblioteca for direcionada ao .NET 6, ela poderá ser chamada por qualquer aplicativo direcionado ao .NET 6. Este tutorial mostra como fazer o direcionamento ao .NET 6.
Ao criar uma biblioteca de classes, você pode distribui-la como um componente de terceiros ou como um componente agrupado com um ou mais aplicativos.
Pré-requisitos
- O Visual Studio Code com a extensão C# instalada. Para saber mais sobre como instalar extensões no Visual Studio Code, confira Marketplace de extensão do VS Code.
- 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 de um ou mais projetos. Você adicionará projetos adicionais relacionados à mesma solução.
Inicie o Visual Studio Code.
Selecione Arquivo>Abrir Pasta (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 é como no seguinte exemplo:
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" para a solução.
No terminal, execute o seguinte comando para criar o projeto de biblioteca:
dotnet new classlib -f net6.0 -o StringLibrary
O comando
-f
ou--framework
altera a estrutura de destino padrão para a versãonet6.0
.O comando
-o
ou--output
especifica o local para colocar a saída gerada.A saída do terminal é como no seguinte exemplo:
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 de utilitários à solução:
dotnet sln add StringLibrary/StringLibrary.csproj
A saída do terminal é como no seguinte exemplo:
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 elemento
TargetFramework
mostra que o projeto tem .NET 6.0 como destino.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> </PropertyGroup> </Project>
Abra Class1.cs e substitua o código pelo exibido 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 Boolean que indica se a instância atual da cadeia de caracteres começa com um caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O método Char.IsUpper(Char) retornarátrue
se um caractere for maiúsculo.StartsWithUpper
é implementado como um método de extensão para que você possa chamá-lo como se ele fosse um membro da classe String.Salve o arquivo.
Execute o comando a seguir para criar a solução e verificar se o projeto é compilado sem erro.
dotnet build
A saída do terminal é como no seguinte exemplo:
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 usa 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 é como no seguinte exemplo:
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 é como no seguinte exemplo:
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 variável
row
para manter uma contagem do número de linhas de dados gravadas na janela do console. Sempre que ela for igual ou superior 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 será encerrado e a janela do console será fechada.
Salve suas alterações.
Adicionar uma referência ao 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 da biblioteca de classes.
Execute o comando a seguir:
dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
A saída do terminal é como no seguinte exemplo:
Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
Executar o aplicativo
Execute o seguinte comando no terminal:
dotnet run --project ShowCase/ShowCase.csproj
Experimente o programa inserindo cadeias de caracteres e pressionando Enter. Depois pressione Enter para sair.
A saída do terminal é como no seguinte exemplo:
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óximas etapas
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ê adicionará um projeto de teste de unidade à solução.