Contexto
Aplicações ASP.NET Core em IIS usam o ASP.NET Core Module (ANCM). Você pode publicar como framework-dependent (usa dotnet no servidor) ou self-contained (runtime embutido no deploy).
Passo a passo (framework-dependent)
- No Visual Studio ou CLI (
dotnet publish -c Release), gere a pastapublish. - Envie o conteúdo para
httpdocsvia File Manager ou FTP. - Crie/ajuste o
web.configna raiz do site com:
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".MinhaApp.dll" stdoutLogEnabled="true" stdoutLogFile=".logsstdout" hostingModel="InProcess" />
</system.webServer>
</configuration>
Crie a pasta logs com permissão de escrita para o pool do aplicativo.
Self-contained
Publique com runtime embutido (ex.: win-x64) e troque processPath para apontar para o executável da app.
Variáveis de ambiente
Defina ASPNETCORE_ENVIRONMENT em Hosting Settings ou no web.config (environmentVariables) quando necessário.
FAQ
Erro 500.31/500.30: indica falha do ANCM. Verifique a versão do .NET, logs de stdout e permissões na pasta.