DevForge
C# .NET
Plataforma de desenvolvimento moderna, multiplataforma e de alto desempenho da Microsoft. Ideal para web APIs, microsserviços, desktop, jogos e muito mais.
⚡ Instalação automatizada - .NET SDK
curl -fsSL https://rafaelferreira2312.github.io/devforge/scripts/csharp/install-dotnet.sh | bash -s 8.0Set-ExecutionPolicy Bypass -Scope Process; iex "& { $(irm https://rafaelferreira2312.github.io/devforge/scripts/csharp/install-dotnet.ps1) } 8.0"curl -fsSL https://rafaelferreira2312.github.io/devforge/scripts/csharp/install-dotnet.sh | bash -s 8.0Os scripts instalam o .NET SDK, runtime, ferramentas globais e configuram o PATH automaticamente.
Requisitos mínimos
- CPU: 2+ núcleos (x86_64 ou ARM64)
- RAM: 2 GB (recomendado 4 GB para projetos maiores)
- Armazenamento: 5 GB SSD
- SO: Ubuntu 20.04+, Debian 11+, RHEL 8+, Windows 10/11, macOS 11+
Hardware recomendado (Dev)
- Notebook: Dell XPS, MacBook Pro M1/M2, Lenovo ThinkPad
- CPU: i5 / Ryzen 5 ou superior
- RAM: 8 GB (16 GB para projetos grandes)
- SSD NVMe 256 GB+
🛠️ Stack recomendada
Ferramentas essenciais
- IDE: Visual Studio 2022 / VS Code / Rider
- Frameworks: ASP.NET Core, Entity Framework Core
- Gerenciador de pacotes: NuGet
- Testes: xUnit, NUnit, MSTest
- Containers: Docker + .NET SDK
Extensões VSCode
- C# Dev Kit (Microsoft)
- C# Extensions
- NuGet Gallery
- .NET Core Test Explorer
- SQL Server (mssql)
Docker (opcional)
docker run -it --rm mcr.microsoft.com/dotnet/sdk:8.0 dotnet --info
⚙️ Comandos dotnet CLI úteis
dotnet new console -n MeuApp – cria novo projeto consoledotnet new webapi -n MinhaAPI – cria API RESTdotnet build – compila o projetodotnet run – executa o projetodotnet add package Newtonsoft.Json – adiciona pacote NuGetdotnet ef migrations add InitialCreate – cria migração EF Coredotnet ef database update – aplica migraçõesdotnet publish -c Release -o ./publish – publica o app🔧 Ferramentas .NET globais
dotnet tool install --global dotnet-ef – Entity Framework Core toolsdotnet tool install --global swashbuckle.aspnetcore.cli – Swagger CLIdotnet tool install --global dotnet-outdated – verifica pacotes desatualizadosdotnet tool install --global coverlet.console – cobertura de testes🔧 Troubleshooting .NET
❌ Erro: "dotnet: command not found"
Causa: .NET SDK não instalado ou não está no PATH.
Solução: Verifique com which dotnet ou reinstale usando o script DevForge.
⚠️ Erro: "Unable to resolve project reference"
Causa: Problemas de restore do NuGet.
Solução: dotnet restore --force
🐘 Erro: "HTTP Error 500.30 - ANCM In-Process Start Failure"
Causa: Erro na inicialização da aplicação ASP.NET Core.
Solução: Verifique logs com dotnet run --launch-profile "Development"
Diagnóstico automático .NET:
dotnet --info && dotnet --list-sdks && dotnet --list-runtimes && echo "---" && which dotnet
Este comando verifica versão do .NET, SDKs instalados, runtimes e localização do binário dotnet.
⚠️ IMPORTANTE - Como executar os scripts corretamente
Os scripts abaixo funcionam em Windows, Linux e macOS. Siga as instruções específicas do seu sistema:
# ERRO COMUM: "arquivo não assinado" ou "execução de scripts desabilitada"
# SOLUÇÃO 1: Executar com bypass (recomendado)
powershell -ExecutionPolicy Bypass -File "C:\caminho\script.ps1"
# SOLUÇÃO 2: Baixar e executar direto (pode ter erro de codificação)
powershell -ExecutionPolicy Bypass -Command "iex (irm https://.../script.ps1)"
# SOLUÇÃO 3: Habilitar execução permanentemente (como Administrador)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
# Se houver erros de acentuação (caracteres estranhos): O script ainda funciona, apenas a saída visual pode ficar distorcida
# ERRO COMUM: "permission denied" ou "comando não encontrado"
# SOLUÇÃO 1: Dar permissão de execução (obrigatório)
chmod +x script.sh
# SOLUÇÃO 2: Executar o script
./script.sh
# SOLUÇÃO 3: Executar via curl (baixar e executar direto)
curl -fsSL https://.../script.sh | bash
# SOLUÇÃO 4: Se der erro de permissão, use sudo (cuidado!)
sudo chmod +x script.sh && sudo ./script.sh
# Se houver erros de permissão: Execute 'ls -la script.sh' para verificar permissões atuais
# ERRO COMUM: "permission denied" ou "operation not permitted"
# SOLUÇÃO 1: Dar permissão de execução
chmod +x script.sh
# SOLUÇÃO 2: Executar o script
./script.sh
# SOLUÇÃO 3: Se der erro de "quarentena" (arquivo baixado da internet)
xattr -d com.apple.quarantine script.sh
# SOLUÇÃO 4: Executar via curl
curl -fsSL https://.../script.sh | bash
# Se erro persistir: Vá em Preferências do Sistema → Segurança e Privacidade → Permitir execução
Dicas importantes:
• Windows: Se aparecerem caracteres estranhos (ex: "�" ou "ção"), ignore - o script funciona normalmente. Para evitar, baixe o script localmente e execute.
• Linux/macOS: Sempre use chmod +x antes de executar scripts baixados.
• WSL (Windows): Siga as instruções do Linux, mas certifique-se de que o script está dentro do sistema de arquivos do Linux (não no /mnt/c/).
📜 Scripts prontos
Scripts verificados no Ubuntu 22.04/24.04, Debian 12, macOS 13+ e Windows 10/11.
📝 Exemplo de código - Minimal API
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello DevForge!");
app.MapGet("/health", () => new { Status = "Healthy", Timestamp = DateTime.UtcNow });
app.Run();
Execute com: dotnet run e acesse http://localhost:5000
❓ Perguntas frequentes - C# .NET
.NET Framework vs .NET Core vs .NET?
.NET Framework (Windows only, legado). .NET Core (multiplataforma, moderno). .NET 5+ (unificação, sucessor do .NET Core). Use .NET 8.0 LTS para novos projetos.
Como gerenciar múltiplas versões do .NET?
Use dotnet --list-sdks e dotnet new globaljson --sdk-version 8.0.100 para fixar versão por projeto.
Entity Framework vs Dapper: qual usar?
Entity Framework: ORM completo, ideal para projetos grandes com mudanças frequentes de schema. Dapper: micro-ORM leve, mais rápido para queries complexas.
Como publicar uma aplicação .NET?
Use dotnet publish -c Release -o ./publish. Para self-contained: dotnet publish --self-contained true -r linux-x64