Como publicar ASP.NET Core no Plesk (IIS + ASP.NET Core Module)

Jefferson A. Voigt
Atualizado em 02/12/2025

Precisa publicar sua aplicação ASP.NET Core no Plesk com IIS e o módulo ASP.NET Core (ANCM)? Este tutorial vai te orientar passo a passo para realizar o deploy corretamente, seja utilizando o runtime instalado no servidor ou com a aplicação em modo self-contained.

O que você precisa saber antes de começar

  • O Plesk utiliza o IIS como servidor web.
  • Aplicações ASP.NET Core funcionam através do módulo AspNetCoreModuleV2 (ANCM).
  • Você pode publicar a aplicação em dois modos: Framework-Dependent (usa o .NET instalado no servidor) ou Self-Contained (inclui o runtime dentro da aplicação).

Passo 1: Gerando a publicação da aplicação

No seu ambiente de desenvolvimento (Visual Studio, Rider ou CLI), gere os arquivos de publicação em modo Release.

No terminal, o comando é:

dotnet publish -c Release

Esse comando criará uma pasta chamada publish dentro de bin/Release contendo os arquivos que devem ser enviados ao servidor.

Passo 2: Enviando os arquivos para o Plesk

Acesse o Plesk e navegue até o domínio desejado.

Entre no Gerenciador de Arquivos e abra a pasta httpdocs. Envie todo o conteúdo da pasta publish.

Se preferir, você pode enviar os arquivos via FTP ou SFTP utilizando um cliente como FileZilla.

Passo 3: Criando o arquivo web.config

Na raiz da pasta httpdocs, crie um arquivo chamado web.config contendo o seguinte:

<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments="MinhaAplicacao.dll" stdoutLogEnabled="true" stdoutLogFile="./logs/stdout" hostingModel="InProcess" />
</system.webServer>
</configuration>

Substitua MinhaAplicacao.dll pelo nome real da DLL principal do seu projeto ASP.NET Core.

Passo 4: Criando a pasta de logs

Crie uma pasta chamada logs dentro de httpdocs. Essa pasta será usada para gravar erros e mensagens do módulo ANCM, úteis em casos de falha no carregamento da aplicação.

Certifique-se de que o usuário do Application Pool tenha permissão de escrita nessa pasta.

Passo 5: Publicação em modo Self-Contained (opcional)

Se você quiser enviar a aplicação com o runtime embutido (sem depender da versão instalada no servidor), publique assim:

dotnet publish -c Release -r win-x64 --self-contained true

Nesse modo, o processPath no web.config deve apontar para o arquivo .exe da aplicação:

<aspNetCore processPath="MinhaAplicacao.exe" stdoutLogEnabled="true" stdoutLogFile="./logs/stdout" hostingModel="InProcess" />

Passo 6: Configurando variáveis de ambiente (opcional)

Se sua aplicação usa variáveis como ASPNETCORE_ENVIRONMENT, isso pode ser configurado no Plesk em:

Websites e Domínios > Botão: .NET Core > Variáveis ambientais

Ou diretamente no web.config:

<environmentVariables>
<add name="ASPNETCORE_ENVIRONMENT" value="Production" />
</environmentVariables>

Passo 7: Testando a aplicação

Acesse o domínio pelo navegador.

Se ocorrer erro 500.30 ou 500.31, verifique os arquivos dentro da pasta logs. Eles normalmente indicam problemas como:

  • Versão do .NET incompatível
  • Permissões insuficientes
  • Falha ao carregar dependências
  • Falha de inicialização da aplicação

Finalizando

Pronto! Sua aplicação ASP.NET Core agora está publicada no Plesk com IIS utilizando o módulo AspNetCoreModuleV2.

Este artigo foi útil? 2 usuários acharam isso útil