- Documentação
- Tecnologias
- .NET
.NET
A Guara Cloud suporta totalmente aplicacoes .NET, incluindo ASP.NET Core web APIs, apps MVC, Blazor e aplicacoes console .NET.
Versoes suportadas
As seguintes versoes do .NET sao detectadas automaticamente:
- .NET 8.0 (LTS)
- .NET 9.0 (Current)
A versao e detectada automaticamente pelo elemento TargetFramework no seu arquivo .csproj ou pelo global.json.
<!-- MyApp.csproj -->
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
Deploy com Dockerfile
Um build multi-stage e a abordagem recomendada para aplicacoes .NET. Ele compila seu projeto com o SDK completo e depois o executa usando o runtime leve do ASP.NET.
Deploy com Buildpack
Se o seu repositorio nao contiver um Dockerfile, a Guara Cloud detecta automaticamente seu projeto .NET pela presenca de um arquivo .csproj.
A deteccao automatica vai:
- Detectar a versao do .NET pelo
TargetFrameworkno.csprojou peloglobal.json - Executar
dotnet restoreedotnet publishautomaticamente - Detectar automaticamente aplicacoes ASP.NET Core
- Iniciar a aplicacao
Configuracao de porta
Sua aplicacao deve escutar na porta configurada nas configuracoes do servico. O padrao e 3000, mas voce pode altera-lo a qualquer momento para corresponder a sua aplicacao.
A forma recomendada de configurar isso no ASP.NET Core e atraves da variavel de ambiente ASPNETCORE_URLS:
ASPNETCORE_URLS=http://+:${PORT:-3000}
Ou programaticamente em Program.cs:
var port = Environment.GetEnvironmentVariable("PORT") ?? "3000";
app.Run($"http://+:{port}");
Estrutura de projeto exemplo
my-dotnet-app/
MyApp.csproj
MyApp.sln
Program.cs
Controllers/
Models/
appsettings.json
appsettings.Production.json
Dockerfile # opcional — omita para usar Buildpack
Variaveis de ambiente
Estas variaveis de ambiente sao comumente usadas em deploys .NET:
| Variavel | Valor recomendado | Descricao |
|---|---|---|
ASPNETCORE_URLS | http://+:${PORT:-3000} | URL e porta que a aplicacao escuta |
ASPNETCORE_ENVIRONMENT | Production | Define o ambiente de hospedagem |
DOTNET_RUNNING_IN_CONTAINER | true | Otimiza o .NET para ambientes de container |
PORT | Definido pela plataforma | A porta na qual sua aplicacao deve escutar |