Nesta página

.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.

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build

WORKDIR /app

COPY *.csproj .
RUN dotnet restore

COPY . .
RUN dotnet publish -c Release -o /out

FROM mcr.microsoft.com/dotnet/aspnet:8.0

WORKDIR /app
COPY --from=build /out .

EXPOSE 3000

ENV ASPNETCORE_URLS=http://+:3000

CMD ["dotnet", "MyApp.dll"]

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:

  1. Detectar a versao do .NET pelo TargetFramework no .csproj ou pelo global.json
  2. Executar dotnet restore e dotnet publish automaticamente
  3. Detectar automaticamente aplicacoes ASP.NET Core
  4. 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:

VariavelValor recomendadoDescricao
ASPNETCORE_URLShttp://+:${PORT:-3000}URL e porta que a aplicacao escuta
ASPNETCORE_ENVIRONMENTProductionDefine o ambiente de hospedagem
DOTNET_RUNNING_IN_CONTAINERtrueOtimiza o .NET para ambientes de container
PORTDefinido pela plataformaA porta na qual sua aplicacao deve escutar

Erros comuns