Publicando ASP.NET Core (full framework) no ISS

Com a grande utilização da computação em nuvem, ficou muito mais transparante para o desenvolvedor a publicação de uma aplicação ASP.NET, principalmente se a publicação for no Microsoft Azure e o desenvolvedor estiver utilizando ferramentas da própria Microsoft, como Visual Studio ou Visual Studio Team Services.

No entanto, há alguns casos em que o desenvolvedor precisará publicar sua solução diretamente no IIS (Internet Information Service). Um exemplo, é o desenvolvimento de uma solução de APIs que disponibiliza informações que estão armazenadas na estrutura de servidores de uma organização, experiência pela qual passei recentemente.

Sendo assim, o objetivo deste texto é apresentar, baseado na experiência que tive, a publicação de uma solução desenvolvida em ASP.NET Core com full framework no IIS. Não vou apresentar aspectos relacionados a instalação do IIS, há vasta documentação na internet que ensina como fazê-la.


1. Publicação correta da solução

O primeiro passo para se hospedar a solução no IIS, é realizar a publicação correta da aplicação desenvolvida.

No meu ponto de vista, a melhor maneira de se realizar esta publicação é através de linha de comandos. Para isso, abra o Prompt de Comando (ou terminal ou o que você preferir) e vá para o diretório da sua aplicação.

Após selecionar o diretório onde está a aplicação, basta digitar o seguinte comando: dotnet publish --configuration Release --output “diretório para se publicar a aplicação”. Perceba que mesmo utilizando a versão 4.6 do .NET Full Framework, utilizei o comando dotnet para realizar o processo de publicação.

Após digitar o comando acima, o processo de publicação do .NET será iniciado e quando for finalizado, todos os arquivos necessários para o correto funcionamento da aplicação estarão disponíveis no diretório escolhido para geração da publicação. Veja, abaixo, uma imagem de exemplo de uma publicação de uma aplicação.

Comando para publicar aplicação ASP.NET Core

2. Configurações no IIS

O primeiro passo para se configurar o ISS, é adicionar um Pool de Aplicativos definindo no campo “Versão do .NET CLR:” o valor “Sem Código Gerenciado” como mostrado na imagem abaixo.

Pool de Aplicativos no IIS versão 10.

A configuração mostrada acima no ISS é um dos pontos que quero chamar a atenção. Mesmo utilizando o .NET 4.6 (full framework) para desenvolvimento da solução de APIs, o pool de aplicativos adicionados não deverá ser vinculado a alguma versão do .NET.

Depois de configurar o Pool de Aplicativos no IIS, o próximo passo é criar um aplicativo no web site desejado do IIS. Na tela de criação do aplicativo, o Pool de Aplicativos escolhido deverá ser o novo Pool de Aplicativos criado conforme citado anteriormente. A imagem abaixo, exemplifica como deve ser a configuração do aplicativo adicionado no ISS.

Tela de criação de aplicativo no IIS

Se todas as configurações forem feitas corretamente, neste momento sua aplicação estará hospedada no IIS e pronta para ser utilizada.

3. Conclusão

Espero que este texto ajude você, caro leitor. Se houver dúvidas ou sugestões, comente-as aqui, acredito veementemente que a troca de ideias é uma grande fonte de conhecimento.