C#: Configurando o ambiente de desenvolvimento
Configurar um ambiente de desenvolvimento é como preparar um estúdio de arte — assim que a tela (SDK do .NET) e os pincéis (VS Code) estiverem prontos, você pode começar a criar (escrever código em C#).
1. Instalação do SDK do .NET
O SDK (.NET) (Kit de Desenvolvimento de Software) é o conjunto de ferramentas essencial para o desenvolvimento de programas em C#, contendo o compilador, o ambiente de execução e as ferramentas de gerenciamento de projetos. É necessário instalá-lo antes de poder escrever, compilar e executar programas em C#.
(1) Instalação no Windows
- Acesse https://dotnet.microsoft.com/download/dotnet/8.0 para baixar o instalador do SDK do .NET 8
- Execute o instalador e conclua a instalação com as opções padrão
- Abra um prompt de comando e verifique:
dotnet --version
8.0.xxx
Se você vir um número de versão, a instalação foi bem-sucedida.
(2) Instalação no macOS
Instale usando o Homebrew:
brew install dotnet-sdk
Ou baixe o instalador do macOS no site oficial. Verifique da mesma forma:
dotnet --version
(3) Instalação no Linux
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0
CentOS/RHEL:
sudo dnf install -y dotnet-sdk-8.0
Verifique a instalação:
dotnet --version
💡 Dica: Este livro utiliza o .NET 8 (LTS — Suporte de Longo Prazo). Certifique-se de instalar o SDK, e não apenas o Runtime. O SDK inclui todas as ferramentas necessárias para o desenvolvimento.
(4) Principais componentes incluídos no SDK
| Componente | Função |
|---|---|
| Compilador Roslyn | Compila código C# para a Linguagem Intermediária (IL) |
| dotnet CLI | Ferramenta de linha de comando para criar, compilar e executar projetos |
| Runtime do .NET | Executa programas compilados |
| Gerenciador de pacotes NuGet | Gerencia dependências de bibliotecas de terceiros |
2. Configurando o VS Code
O VS Code é um editor de código gratuito desenvolvido pela Microsoft. Quando usado em conjunto com a extensão C#, ele oferece uma experiência poderosa de desenvolvimento em C#.
(1) Instalando o VS Code
Acesse https://code.visualstudio.com para fazer o download e a instalação.
(2) Instalação das extensões necessárias
Abra o VS Code, pressione Ctrl+Shift+X para abrir a loja de extensões e, em seguida, procure e instale:
| Extensão | Finalidade |
|---|---|
| Kit de Desenvolvimento C# (Microsoft) | Suporte completo para realce de sintaxe, IntelliSense, depuração e gerenciamento de projetos |
| C# (Microsoft) | Serviço básico da linguagem C# (geralmente instalado automaticamente com o Dev Kit) |
(3) Configurando o Dev Kit do C#
Após instalar o C# Dev Kit, a extensão detecta automaticamente o SDK do .NET instalado no seu computador. Você pode verificar se a configuração está correta da seguinte forma:
- Pressione
Ctrl+Shift+P, digite.NET: New Project— se aparecer uma lista de modelos de projeto, a configuração foi bem-sucedida - A barra de status na parte inferior deve exibir o número da versão do SDK do .NET
⚠️ Atenção: Ao abrir uma pasta no VS Code, crie uma pasta exclusiva (por exemplo, csharp-learn) e abra a pasta inteira no VS Code, em vez de apenas um arquivo. Isso é necessário para que o C# Dev Kit funcione corretamente.
3. Seu primeiro programa: Hello World
▶ Exemplo
Use a CLI do dotnet para criar seu primeiro aplicativo de console:
dotnet new console -n MyFirstApp
The template "Console App" was created successfully.
Processing post-creation actions...
Restoring packages...
Determining projects to restore...
Restored MyFirstApp.csproj (in 1.2s).
Acesse o diretório do projeto e execute-o:
cd MyFirstApp
dotnet run
Hello, World!
Esse é o seu primeiro programa em C#! O comando dotnet new console gera automaticamente a estrutura do projeto e o código.
(1) Estrutura do projeto
Após a criação, a pasta do projeto contém:
MyFirstApp/
├── MyFirstApp.csproj
├── Program.cs
└── obj/
└── ...
| Arquivo | Finalidade |
|---|---|
Program.cs |
Ponto de entrada do programa, contém o código principal |
MyFirstApp.csproj |
Arquivo de configuração do projeto, define o SDK, a estrutura de destino, etc. |
obj/ |
Diretório de saída da compilação intermediária |
4. Comandos comuns da CLI do .NET
A CLI do .NET é a principal ferramenta de linha de comando para o desenvolvimento em .NET. Dominá-la é mais eficiente do que depender de um IDE.
(1) Comandos de gerenciamento de projetos
| Comando | Finalidade | Exemplo |
|---|---|---|
dotnet new console |
Criar um projeto de console | dotnet new console -n MyApp |
dotnet new classlib |
Criar um projeto de biblioteca de classes | dotnet new classlib -n MyLib |
dotnet new list |
Listar todos os modelos disponíveis | dotnet new list |
O parâmetro -n especifica o nome do projeto. Se for omitido, será utilizado o nome da pasta atual.
(2) Compilar, executar e publicar
| Comando | Finalidade | Exemplo |
|---|---|---|
dotnet build |
Compilar o projeto (sem executar) | dotnet build |
dotnet run |
Compilar e executar o projeto | dotnet run |
dotnet publish |
Publicar o projeto (para implantação) | dotnet publish -c Release |
▶ Exemplo
dotnet build
MSBuild version 17.8.xxxx
Determining projects to restore...
Restored MyFirstApp.csproj (in 102 ms).
MyFirstApp -> G:\csharp-learn\MyFirstApp\bin\Debug\net8.0\MyFirstApp.dll
Build succeeded.
0 Warning(s)
0 Error(s)
🔥 Dica: dotnet run = dotnet build + execução automática. Use dotnet run para testes rápidos durante o desenvolvimento e dotnet build para verificar se há problemas de compilação em compilações formais.
5. Instruções de nível superior x Programa tradicional. Principal
O C# 9 introduziu as instruções de nível superior, simplificando drasticamente a sintaxe dos programas de console. Compreender os dois estilos ajuda a ler códigos em C# de diferentes épocas.
(1) Instruções de nível superior (C# 9+, padrão)
dotnet new console gera um Program.cs que, por padrão, utiliza instruções de nível superior:
System.Console.WriteLine("Hello, World!");
Apenas uma linha — sem namespace, sem classe, sem método Main. O compilador a envolve automaticamente em um método Main gerado.
(2) Programa Tradicional. Estilo Principal
A abordagem anterior ao C# 9, em que todo o código deve estar dentro de um método Main:
using System;
namespace MyFirstApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
(3) Comparando os dois estilos
| Destaque | Declarações de alto nível | Programa Tradicional.Página principal |
|---|---|---|
| Volume de código | Muito pouco | Mais código padrão |
| Método de entrada | Gerado automaticamente pelo compilador | Definido manualmente static void Main |
Declarações using |
Podem ser omitidas (use nomes totalmente qualificados) | Geralmente requerem using System; |
| Espaço de nomes | Não é necessária declaração | É necessário declarar |
| Argumentos da linha de comando | Acesso direto por meio da variável args |
Por meio do parâmetro Main(string[] args) |
| Casos de uso | Programas simples, aprendizado, scripts | Grandes projetos que exigem controle de acesso detalhado |
| Versão do C# | C# 9+ | Todas as versões |
📌 Ponto-chave: As instruções de nível superior e o estilo tradicional são funcionalmente equivalentes. As instruções de nível superior são apenas um recurso sintático — o código IL gerado é essencialmente o mesmo. Apenas um arquivo em um projeto pode usar instruções de nível superior.
(4) Acesso aos argumentos da linha de comando por meio de instruções de nível superior
if (args.Length > 0)
{
System.Console.WriteLine($"Hello, {args[0]}!");
}
else
{
System.Console.WriteLine("Hello, World!");
}
dotnet run -- Alice
Hello, Alice!
Os argumentos após -- são passados ao programa. Em instruções de nível superior, args é inserido automaticamente pelo compilador.
6. Erros comuns de compilação
Como iniciante, você certamente encontrará erros de compilação. Não entre em pânico — aprender a interpretar as mensagens de erro é mais importante do que evitá-las.
(1) CS1002: Espera-se um ponto-e-vírgula
System.Console.WriteLine("Hello, World!")
Program.cs(1,40): error CS1002: ; expected
O formato do erro é nome do arquivo(linha, coluna): código de erro: descrição. Falta um ponto-e-vírgula no final desta linha — toda instrução em C# deve terminar com um ponto-e-vírgula.
(2) CS0103: O nome não existe no contexto atual
Console.WriteLine("Hello, World!");
Program.cs(1,1): error CS0103: The name 'Console' does not exist in the current context
Você utilizou Console sem using System; ou o nome totalmente qualificado System.Console. Duas soluções: adicione using System; ou utilize System.Console.
(3) CS0117: Não contém uma definição
System.Console.WritLine("Hello, World!");
Program.cs(1,17): error CS0117: 'Console' does not contain a definition for 'WritLine'
WriteLine foi escrito incorretamente como WritLine. O compilador está informando que a classe Console não possui nenhum membro chamado WritLine — verifique a ortografia.
(4) CS0120: É necessária uma referência a um objeto para um campo não estático
namespace MyApp
{
class Program
{
string name = "C#";
static void Main(string[] args)
{
System.Console.WriteLine(name);
}
}
}
Program.cs(8,37): error CS0120: An object reference is required for the non-static field, method, or property 'Program.name'
Você acessou um campo não estático name a partir do método estático Main. Os métodos estáticos pertencem à própria classe, enquanto os membros não estáticos pertencem às instâncias da classe — é necessário criar um objeto primeiro.
⚠️ Dica para interpretar mensagens de erro: O número da linha indicado pode corresponder à posição após o erro real. Se uma linha apresentar um erro, verifique essa linha e a linha acima dela quanto à ortografia, ponto-e-vírgula e parênteses. Os códigos CS são códigos de erro oficiais da Microsoft — você pode pesquisar um número CS online para encontrar explicações detalhadas.
❓ Perguntas Frequentes
P: Após instalar o SDK do .NET, a linha de comando exibe a mensagem “dotnet não é reconhecido como um comando”. O que devo fazer? R: Isso significa que o diretório de instalação do .NET não está no PATH do seu sistema. No Windows, executar novamente o instalador do SDK geralmente corrige isso automaticamente. Caso contrário, adicione manualmente o diretório do dotnet (por exemplo, C:\Arquivos de Programas\dotnet) ao PATH do sistema e, em seguida, reinicie a linha de comando.
P: Qual é a diferença entre o C# Dev Kit e a antiga extensão do C#? R: O C# Dev Kit é uma nova extensão lançada pela Microsoft em 2023. Ele integra gerenciamento de projetos, um Solution Explorer, um Test Explorer e muito mais — a experiência é muito mais parecida com a do Visual Studio. A antiga extensão C# oferece apenas serviços básicos de linguagem. Recomenda-se o uso do C# Dev Kit.
P: Existe alguma diferença de desempenho entre as instruções de nível superior e o estilo tradicional? R: Absolutamente nenhuma. As instruções de nível superior são apenas um recurso sintático — o compilador as converte em um método Main padrão. O código IL gerado e o desempenho em tempo de execução são idênticos. Escolha o estilo que melhor se adequar à legibilidade do seu código e à escala do projeto.
P: Qual é a diferença entre
dotnet runedotnet build? R:dotnet buildapenas compila o projeto e gera arquivos DLL sem executá-lo. Odotnet runcompila (se necessário) e, em seguida, executa automaticamente o programa. Use odotnet runpara facilitar a depuração durante o desenvolvimento e odotnet buildpara compilações de CI/CD mais controladas.
📖 Resumo
- O SDK do .NET 8 é o conjunto de ferramentas essencial para o desenvolvimento em C#, que pode ser instalado no Windows, macOS e Linux, e foi testado com
dotnet --version - O VS Code, com a extensão C# Dev Kit, oferece um ambiente de desenvolvimento em C# leve, mas poderoso
- A CLI do .NET é a principal ferramenta de gerenciamento de projetos:
dotnet newpara criar,dotnet buildpara compilar,dotnet runpara executar - As instruções de nível superior (C# 9+) são um estilo simplificado que é funcionalmente equivalente ao tradicional
Program.Main— os iniciantes devem começar com as instruções de nível superior - As mensagens de erro do compilador contêm o nome do arquivo, o número da linha, o código CS e a descrição — aprender a interpretá-las é uma habilidade fundamental
📝 Exercícios
- Instale o SDK do .NET 8 no seu computador e verifique se
dotnet --versioné exibido corretamente. Anote o número da versão - Use
dotnet new console -n Homework02para criar um projeto. Modifique o arquivo Program.cs para exibir seu nome e uma saudação (por exemplo, “Olá, sou o Alex e estou começando a aprender C#!”), depois execute o programa e faça uma captura de tela - Reescreva a versão das instruções de nível superior do exercício 2 no estilo tradicional do
Program.Maine verifique se ambas produzem a mesma saída - Introduza intencionalmente três erros de compilação (falta de ponto-e-vírgula, erro ortográfico, omissão de “using”), registre os códigos CS e as descrições dos erros e pratique a leitura das mensagens de erro