.NET · 10.0.402
Hospedagem .NET 24/7
Suba uma minimal API, um serviço em ASP.NET Core ou um worker em C# e deixe rodando. A plataforma reconhece o projeto pelo .csproj ou pelo .sln, roda o dotnet publish ao construir a imagem e sobe o resultado em container isolado.
Quem desenhou o .NET
A Microsoft apresentou o .NET em 2000, e o C# nasceu junto, sob a arquitetura de Anders Hejlsberg, o mesmo do Turbo Pascal e do Delphi. Por mais de uma década rodou só no Windows; o .NET Core 1.0, de 2016, abriu o código e trouxe Linux e macOS, e em 2020 o .NET 5 unificou as linhas numa só.

Anders Hejlsberg
DBegley · CC BY 2.0
Linguagem tipada, runtime gerenciado
O C# é compilado para uma linguagem intermediária e executado com coleta de lixo e compilação JIT. O compilador pega erro de tipo antes de o serviço subir.
Multiplataforma e aberto
Desde o .NET Core, o mesmo código roda em Linux, macOS e Windows, com o desenvolvimento no GitHub. O container Linux deixou de ser exceção.
Web no pacote
O ASP.NET Core traz o servidor Kestrel, o roteamento, a injeção de dependência e as minimal APIs. Uma API completa cabe em poucas linhas de Program.cs.
O que a plataforma faz por um projeto .NET
O build e o container ficam por conta da plataforma; o seu código só precisa escutar na porta certa.
Detecção pelo .csproj e pelo .sln
Com um .csproj ou um .sln no zip ou no repositório, a plataforma entende que é .NET e escolhe o runtime sozinha. Você não escreve Dockerfile nem escolhe imagem base.
dotnet publish no build
A restauração dos pacotes NuGet e a compilação acontecem enquanto a imagem é construída, não a cada boot. Erro de compilação aparece no log do build em vez de virar crash em produção.
Teto de RAM no arquivo de config
MEMORY define quanta memória o container pode ocupar, e o painel mostra o uso real ao lado do teto. Se o processo estourar o limite, ele é encerrado por OOM e o evento fica registrado no log.
Auto-restart com freio
Uma exceção sem tratamento não deixa o serviço fora do ar: o processo é reiniciado sozinho, em qualquer plano. Se ele quebrar 5 vezes em 10 minutos, a plataforma marca crash loop e desliga o auto-restart por 24 horas. Saída com exit code 0 não dispara reinício.
O que as pessoas rodam em .NET aqui
Do serviço HTTP enxuto ao processo de fundo que não tem porta nenhuma.
Minimal APIs e ASP.NET Core
Publique a aplicação para receber um subdomínio em vertraweb.app com TLS. O ASP.NET Core já ouve na porta da plataforma, sem configuração: não precisa definir ASPNETCORE_URLS nem UseUrls.
Workers com BackgroundService
Consumidor de fila, rotina periódica, integração com um serviço externo: um Worker Service roda como processo sem porta HTTP, com o MEMORY visível no painel.
Bots de Discord e Telegram em C#
Discord.Net e Telegram.Bot rodam como processo de longa duração. O token vai nas variáveis de ambiente do painel, nunca num appsettings.json dentro do zip.
Conector nativo com banco gerenciado
Um PostgreSQL 17 ou um MySQL 8.0 criado no mesmo painel conversa com Npgsql ou o Entity Framework Core pelo host interno. TLS é obrigatório, e o certificado de cliente e a senha saem do painel direto para a connection string.
Versões de .NET disponíveis
10.0.402 é a recomendada e também a mais recente. Sem VERSION no vertracloud.config, a aplicação sobe na recomendada.
| Versão | vertracloud.config | Status |
|---|---|---|
| 10.0.402 | VERSION=10.0 | RecomendadaMais recente |
A configuração inteira
O vertracloud.config é um arquivo INI opcional na raiz do projeto. MAIN aponta o projeto a publicar; VERSION escolhe a linha do .NET; MEMORY define o teto de RAM do container.
NAME=minha-api
MAIN=MinhaApi.csproj
VERSION=10.0
MEMORY=512Um plano para cada fase do projeto
A memória e o armazenamento mudam por plano; a linguagem, não. Compare o que cada plano libera e escolha o que cabe no projeto agora.
Comparar planosTambém roda aqui
Mesma plataforma, mesmo deploy, outra stack.
Perguntas frequentes sobre hospedagem .NET
Versão, porta e build: as dúvidas mais frequentes de quem sobe .NET.
Qual versão do .NET posso usar?
Hoje, a 10.0.402, que é a recomendada e a mais recente. Você pode declarar a linha com a chave VERSION no vertracloud.config; sem ela, a aplicação sobe na recomendada.
Preciso compilar antes de enviar o zip?
Não. Envie o código-fonte com o .csproj ou o .sln e deixe o dotnet publish rodar no build da plataforma, para Linux. Exclua as pastas bin e obj do pacote: elas são refeitas e só aumentam o zip, que tem limite de 100 MB.
A API sobe, mas o subdomínio não responde.
O ASP.NET Core ouve na porta da plataforma sem configuração. Confira se a aplicação está publicada na web, o que exige 512 MB de RAM e está disponível a partir do plano Pro, e se o código não fixa outra porta com UseUrls ou ASPNETCORE_URLS.
Tenho uma solução com vários projetos. Qual é publicado?
Aponte o MAIN para o .csproj do projeto executável, o que tem o Program.cs, ou para o .sln. Os demais projetos da solução entram como referência e são compilados junto.
Como passo a connection string e outros segredos?
Pela aba de variáveis de ambiente do painel: elas são injetadas no container na inicialização e ficam criptografadas em repouso. O ASP.NET Core lê as variáveis de ambiente pela configuração padrão; um appsettings.json dentro do zip não é lugar para segredo.
Suba seu serviço .NET hoje
Crie a conta, envie o código com o .csproj ou o .sln, ou conecte o repositório do GitHub, e acompanhe o dotnet publish no terminal do painel.
Criar conta