Suporte ao IIS no tempo de desenvolvimento no Visual Studio para ASP.NET Core
Observação
Esta não é a versão mais recente deste artigo. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
Aviso
Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, confira .NET e a Política de Suporte do .NET Core. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
Importante
Essas informações relacionam-se ao produto de pré-lançamento, que poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.
Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
Este artigo descreve o suporte do Visual Studio para a depuração de aplicativos do ASP.NET Core em execução com o IIS no Windows Server. Este tópico orienta como habilitar esse cenário e configurar um projeto.
Pré-requisitos
- Visual Studio para Windows
- Carga de trabalho ASP.NET e desenvolvimento para a Web
- Carga de trabalho de desenvolvimento multiplataforma do .NET Core
- Certificado de segurança X.509 (para o suporte a HTTPS)
Habilitar o IIS
- No Windows, navegue até Painel de Controle>Programas>Programas e Recursos>Ativar ou desativar recursos do Windows (lado esquerdo da tela).
- Marque a caixa de seleção Serviços de Informações da Internet. Selecione OK.
A instalação do IIS pode exigir uma reinicialização do sistema.
Configurar o IIS
O IIS deve ter um site configurado com o seguinte:
- Nome do host Normalmente, o Site padrão é usado com um nome do Host de
localhost
. No entanto, qualquer site válido do IIS com um nome de host exclusivo funciona. - Associação do site
- Para aplicativos que exijam HTTPS, crie uma associação à porta 443 com um certificado. Tipicamente, o Certificado de Desenvolvimento do IIS Express é usado, mas qualquer certificado válido funciona.
- Para aplicativos que usam HTTP, confirme a existência de uma associação à porta 80 ou crie uma para um novo site.
- Uso de uma associação simples para HTTP ou HTTPS. Não há suporte para a associação simultânea às portas HTTP e HTTPS.
Habilitar o suporte ao IIS no tempo de desenvolvimento no Visual Studio
Inicie o Instalador do Visual Studio.
Selecione Modificar para a instalação do Visual Studio que você planeja usar para o suporte de tempo de desenvolvimento do IIS.
Para a carga de trabalho de desenvolvimento da web e ASP.NET, localize e instale o componente desuporte IIS ao tempo de desenvolvimento.
O componente está listado na seção Opcional, em Suporte IIS ao tempo de desenvolvimento no painel Detalhes da instalação à direita das cargas de trabalho. O componente instala o Módulo do ASP.NET Core, que é um módulo nativo do IIS necessário para executar aplicativos ASP.NET Core com o IIS.
Configurar o projeto
Redirecionamento para HTTPS
Para um novo projeto que exija HTTPS, selecione a caixa de seleção para Configurar para HTTPS na janela Criar um novo Aplicativo Web ASP.NET Core. A marcação da caixa de seleção adiciona ao aplicativo um Redirecionamento de HTTPS e Middleware HSTS quando ele é criado.
Para um projeto existente que exija HTTPS, use o Redirecionamento de HTTPS e Middleware HSTS em Startup.Configure
. Para saber mais, confira Impor HTTPS no ASP.NET Core.
Para um projeto que usa HTTP, o Redirecionamento de HTTPS e o Middleware HSTS não são adicionados ao aplicativo. Nenhuma configuração de aplicativo é necessária.
Perfil de inicialização do IIS
Crie um novo perfil de inicialização para adicionar suporte ao IIS no tempo de desenvolvimento:
Clique com o botão direito do mouse no projeto em Gerenciador de Soluções. Selecione Propriedades. Abra a guia Depurar.
Para Perfil, selecione o botão Novo. Nomeie o perfil "IIS" na janela pop-up. Selecione OK para criar o perfil.
Para a configuração Iniciar, selecione IIS da lista.
Selecione a caixa de seleção Iniciar navegador e forneça a URL de ponto de extremidade.
Quando o aplicativo exigir HTTPS, use um ponto de extremidade HTTPS (
https://
). Para HTTP, use um ponto de extremidade HTTP (http://
).Forneça o mesmo nome de host e porta usados pela configuração do IIS especificada anteriormente, normalmente
localhost
.Forneça o nome do aplicativo no final da URL.
Por exemplo,
https://localhost/WebApplication1
(HTTPS) ouhttp://localhost/WebApplication1
(HTTP) são URLs de ponto de extremidade válidas.Na seção Variáveis de ambiente, selecione o botão Adicionar. Forneça uma variável de ambiente com um Nome de
ASPNETCORE_ENVIRONMENT
e um Valor deDevelopment
.Na área de Configurações do servidor Web, defina a URL do aplicativo com o mesmo valor usado para a URL de ponto de extremidade Iniciar navegador.
Para a configuração de Modelo de hospedagem no Visual Studio 2019 ou posterior, selecione Padrão para usar o modelo de hospedagem usado pelo projeto. Se o projeto definir a propriedade
<AspNetCoreHostingModel>
no arquivo de projeto, o valor da propriedade (InProcess
ouOutOfProcess
) será usado. Se a propriedade não estiver presente, o modelo do aplicativo de hospedagem padrão será usado, que está em processo. Se o aplicativo exigir uma configuração explícita de modelo de hospedagem diferente da do modelo de hospedagem normal do aplicativo, defina o Modelo de hospedagem paraIn Process
ouOut Of Process
, conforme necessário.Salve o perfil.
Quando não estiver usando o Visual Studio, adicione manualmente um perfil de inicialização ao arquivo launchSettings.json na pasta Propriedades. O exemplo a seguir configura o perfil para usar o protocolo HTTPS:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iis": {
"applicationUrl": "https://localhost/WebApplication1",
"sslPort": 0
}
},
"profiles": {
"IIS": {
"commandName": "IIS",
"launchBrowser": true,
"launchUrl": "https://localhost/WebApplication1",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Confirme se os pontos de extremidade applicationUrl
e launchUrl
correspondem e usam o mesmo protocolo que a configuração de associação do IIS, seja HTTP ou HTTPS.
Executar o projeto
Execute o Visual Studio como um administrador:
- Confirme se a lista de lista suspensa de configuração de compilação está definida para Depurar.
- Defina o botão Iniciar Depuração para o perfil do IIS e selecione o botão para iniciar o aplicativo.
O Visual Studio poderá solicitar uma reinicialização se não estiver executando como administrador. Se solicitado, reinicie o Visual Studio.
Se for usado um certificado de desenvolvimento não confiável, o navegador poderá exigir a criação de uma exceção para o certificado não confiável.
Observação
A depuração de uma configuração de Compilação de versão com Apenas Meu Código e otimizações de compilador resulta em uma experiência inadequada. Por exemplo, os pontos de interrupção não são atingidos.
Recursos adicionais
Este artigo descreve o suporte do Visual Studio para a depuração de aplicativos do ASP.NET Core em execução com o IIS no Windows Server. Este tópico orienta como habilitar esse cenário e configurar um projeto.
Pré-requisitos
- Visual Studio para Windows
- Carga de trabalho ASP.NET e desenvolvimento para a Web
- Carga de trabalho de desenvolvimento multiplataforma do .NET Core
- Certificado de segurança X.509 (para o suporte a HTTPS)
Habilitar o IIS
- No Windows, navegue até Painel de Controle>Programas>Programas e Recursos>Ativar ou desativar recursos do Windows (lado esquerdo da tela).
- Marque a caixa de seleção Serviços de Informações da Internet. Selecione OK.
A instalação do IIS pode exigir uma reinicialização do sistema.
Configurar o IIS
O IIS deve ter um site configurado com o seguinte:
- Nome do host Normalmente, o Site padrão é usado com um nome do Host de
localhost
. No entanto, qualquer site válido do IIS com um nome de host exclusivo funciona. - Associação do site
- Para aplicativos que exijam HTTPS, crie uma associação à porta 443 com um certificado. Tipicamente, o Certificado de Desenvolvimento do IIS Express é usado, mas qualquer certificado válido funciona.
- Para aplicativos que usam HTTP, confirme a existência de uma associação à porta 80 ou crie uma para um novo site.
- Uso de uma associação simples para HTTP ou HTTPS. Não há suporte para a associação simultânea às portas HTTP e HTTPS.
Habilitar o suporte ao IIS no tempo de desenvolvimento no Visual Studio
Inicie o Instalador do Visual Studio.
Selecione Modificar para a instalação do Visual Studio que você planeja usar para o suporte de tempo de desenvolvimento do IIS.
Para a carga de trabalho de desenvolvimento da web e ASP.NET, localize e instale o componente desuporte IIS ao tempo de desenvolvimento.
O componente está listado na seção Opcional, em Suporte IIS ao tempo de desenvolvimento no painel Detalhes da instalação à direita das cargas de trabalho. O componente instala o Módulo do ASP.NET Core, que é um módulo nativo do IIS necessário para executar aplicativos ASP.NET Core com o IIS.
Configurar o projeto
Redirecionamento para HTTPS
Para um novo projeto que exija HTTPS, selecione a caixa de seleção para Configurar para HTTPS na janela Criar um novo Aplicativo Web ASP.NET Core. A marcação da caixa de seleção adiciona ao aplicativo um Redirecionamento de HTTPS e Middleware HSTS quando ele é criado.
Para um projeto existente que exija HTTPS, use o Redirecionamento de HTTPS e Middleware HSTS em Startup.Configure
. Para saber mais, confira Impor HTTPS no ASP.NET Core.
Para um projeto que usa HTTP, o Redirecionamento de HTTPS e o Middleware HSTS não são adicionados ao aplicativo. Nenhuma configuração de aplicativo é necessária.
Perfil de inicialização do IIS
Crie um novo perfil de inicialização para adicionar suporte ao IIS no tempo de desenvolvimento:
Clique com o botão direito do mouse no projeto em Gerenciador de Soluções. Selecione Propriedades. Abra a guia Depurar.
Para Perfil, selecione o botão Novo. Nomeie o perfil "IIS" na janela pop-up. Selecione OK para criar o perfil.
Para a configuração Iniciar, selecione IIS da lista.
Selecione a caixa de seleção Iniciar navegador e forneça a URL de ponto de extremidade.
Quando o aplicativo exigir HTTPS, use um ponto de extremidade HTTPS (
https://
). Para HTTP, use um ponto de extremidade HTTP (http://
).Forneça o mesmo nome de host e porta usados pela configuração do IIS especificada anteriormente, normalmente
localhost
.Forneça o nome do aplicativo no final da URL.
Por exemplo,
https://localhost/WebApplication1
(HTTPS) ouhttp://localhost/WebApplication1
(HTTP) são URLs de ponto de extremidade válidas.Na seção Variáveis de ambiente, selecione o botão Adicionar. Forneça uma variável de ambiente com um Nome de
ASPNETCORE_ENVIRONMENT
e um Valor deDevelopment
.Na área de Configurações do servidor Web, defina a URL do aplicativo com o mesmo valor usado para a URL de ponto de extremidade Iniciar navegador.
Para a configuração de Modelo de hospedagem no Visual Studio 2019 ou posterior, selecione Padrão para usar o modelo de hospedagem usado pelo projeto. Se o projeto definir a propriedade
<AspNetCoreHostingModel>
no arquivo de projeto, o valor da propriedade (InProcess
ouOutOfProcess
) será usado. Se a propriedade não estiver presente, o modelo do aplicativo de hospedagem padrão será usado, que está fora de processo. Se o aplicativo exigir uma configuração explícita de modelo de hospedagem diferente da do modelo de hospedagem normal do aplicativo, defina o Modelo de hospedagem paraIn Process
ouOut Of Process
, conforme necessário.Salve o perfil.
Quando não estiver usando o Visual Studio, adicione manualmente um perfil de inicialização ao arquivo launchSettings.json na pasta Propriedades. O exemplo a seguir configura o perfil para usar o protocolo HTTPS:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iis": {
"applicationUrl": "https://localhost/WebApplication1",
"sslPort": 0
}
},
"profiles": {
"IIS": {
"commandName": "IIS",
"launchBrowser": true,
"launchUrl": "https://localhost/WebApplication1",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Confirme se os pontos de extremidade applicationUrl
e launchUrl
correspondem e usam o mesmo protocolo que a configuração de associação do IIS, seja HTTP ou HTTPS.
Executar o projeto
Execute o Visual Studio como um administrador:
- Confirme se a lista de lista suspensa de configuração de compilação está definida para Depurar.
- Defina o botão Iniciar Depuração para o perfil do IIS e selecione o botão para iniciar o aplicativo.
O Visual Studio poderá solicitar uma reinicialização se não estiver executando como administrador. Se solicitado, reinicie o Visual Studio.
Se for usado um certificado de desenvolvimento não confiável, o navegador poderá exigir a criação de uma exceção para o certificado não confiável.
Observação
A depuração de uma configuração de Compilação de versão com Apenas Meu Código e otimizações de compilador resulta em uma experiência inadequada. Por exemplo, os pontos de interrupção não são atingidos.