Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Esta não é a versão mais recente deste artigo. Para a versão atual, consulte a versão .NET 10 deste artigo.
Advertência
Esta versão do ASP.NET Core não é mais suportada. Para obter mais informações, consulte a Política de suporte do .NET e do .NET Core. Para a versão atual, consulte a versão .NET 9 deste artigo.
Este artigo descreve o suporte do Visual Studio para a depuração de aplicações ASP.NET Core em execução com o IIS no Windows Server. Este tema explica como possibilitar este cenário e montar um projeto.
Pré-requisitos
- Visual Studio para Windows
- ASP.NET e carga de trabalho de desenvolvimento web
- Carga de trabalho de desenvolvimento multiplataforma .NET Core
- Certificado de segurança X.509 (para suporte a HTTPS)
Ativar IIS
- No Windows, navegue atéProgramas> do Painel> de ControloProgramas e Funcionalidades>Ativar ou desativar as funcionalidades do Windows (lado esquerdo do ecrã).
- Selecione a caixa de seleção dos Serviços de Informação da Internet . Selecione OK.
A instalação do IIS pode exigir um reinício do sistema.
Configurar IIS
O IIS deve ter um site configurado com o seguinte:
-
Nome do anfitrião: Normalmente, o site padrão é usado com o nome de anfitrião de
localhost. No entanto, qualquer site IIS válido com um nome de host único funciona. -
Vinculação do Site
- Para aplicações que requerem HTTPS, crie uma ligação à porta 443 com um certificado. Normalmente, utiliza-se o IIS Express Development Certificate , mas qualquer certificado válido serve.
- Para aplicações que usam HTTP, confirme a existência de uma ligação à porta 80 ou crie uma ligação à porta 80 para um novo site.
- Use uma única ligação para HTTP ou HTTPS. Não é suportado ligar simultaneamente às portas HTTP e HTTPS.
Ativar o suporte IIS em tempo de desenvolvimento no Visual Studio
Inicie o instalador do Visual Studio.
Selecione Modificar para a instalação do Visual Studio que planeia usar para suporte em tempo de desenvolvimento do IIS.
Para a carga de trabalho ASP.NET e desenvolvimento web, localize e instale o componente suporte IIS durante o desenvolvimento.
O componente está listado na secção Opcional em suporte de IIS no tempo de desenvolvimento, no painel detalhes de instalação à direita dos workloads. O componente instala o ASP.NET Core Module, que é um módulo IIS nativo necessário para correr ASP.NET aplicações Core com IIS.
Configurar o projeto
Redirecionamento HTTPS
Para um novo projeto que requer HTTPS, selecione a caixa de seleção para Configurar para HTTPS na janela Criar uma nova ASP.NET Aplicação Web Core . Marcar a caixa de verificação adiciona redirecionamento HTTPS e middleware HSTS à aplicação quando esta é criada.
Para um projeto existente que exige HTTPS, utilize "HTTPS Redirection" e "HSTS Middleware" em Startup.Configure. Para obter mais informações, consulte Impor HTTPS no ASP.NET Core.
Para um projeto que usa HTTP, o redirecionamento HTTPS e o middleware HSTS não são adicionados à aplicação. Não é necessária qualquer configuração da aplicação.
Perfil de lançamento do IIS
Crie um novo perfil de lançamento para adicionar suporte IIS em tempo de desenvolvimento:
Clique com o botão direito do projeto no Explorador de Soluções. Selecione Propriedades. Abra o separador Debug .
Para Perfil, selecione o botão Novo. Nomeie o perfil como "IIS" na janela pop-up. Selecione OK para criar o perfil.
Para a definição de Lançamento , selecione IIS da lista.
Selecione a caixa de seleção para Iniciar o navegador e forneça o URL do endpoint.
Quando a aplicação requer HTTPS, use um ponto final HTTPS (
https://). Para HTTP, use um endpoint HTTP (http://).Fornecer o mesmo nome de host e porta que a configuração IIS especificada anteriormente utilizou, tipicamente
localhost.Fornece o nome da aplicação no final da URL.
Por exemplo,
https://localhost/WebApplication1(HTTPS) ouhttp://localhost/WebApplication1(HTTP) são URLs válidos de endpoint.Na secção Variáveis de Ambiente , selecione o botão Adicionar . Forneça uma variável de ambiente com um Nome de
ASPNETCORE_ENVIRONMENTe um Valor deDevelopment.Na área Definições do Servidor Web, defina o URL da Aplicação para o mesmo valor usado para o URL do endpoint do navegador de arranque.
Para a definição de Modelo de Alojamento no Visual Studio 2019 ou posterior, selecione Padrão para usar o modelo de alojamento utilizado pelo projeto. Se o projeto definir a
<AspNetCoreHostingModel>propriedade no seu ficheiro de projeto, utiliza-se o valor da propriedade (InProcessouOutOfProcess). Se a propriedade não estiver presente, é usado o modelo de alojamento padrão da aplicação, que está em curso. Se a aplicação exigir uma definição explícita do modelo de alojamento diferente do modelo normal da aplicação, defina o Modelo de Alojamento paraIn ProcessouOut Of Process, conforme necessário.Guarde o perfil.
Quando não estiver a usar o Visual Studio, adicione manualmente um perfil de lançamento ao ficheiro launchSettings.json na pasta Properties . O exemplo seguinte 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 que os endpoints applicationUrl e launchUrl correspondem e usam o mesmo protocolo da configuração de binding IIS, seja HTTP ou HTTPS.
Executar o projeto
Execute o Visual Studio como administrador:
- Confirme que a lista suspensa de configuração de compilação está definida como Debug.
- Defina o botão Iniciar Depuração no perfil IIS e selecione o botão para iniciar a aplicação.
O Visual Studio pode pedir um reinício se não for executado como administrador. Se for solicitado, reinicie o Visual Studio.
Se for utilizado um certificado de desenvolvimento não confiável, o navegador pode exigir que crie uma exceção para o certificado não confiável.
Observação
Depurar uma configuração de build Release com Just My Code e otimizações do compilador resulta numa experiência degradada. Por exemplo, os breakpoints não são atingidos.
Recursos adicionais
Este artigo descreve o suporte do Visual Studio para a depuração de aplicações ASP.NET Core em execução com o IIS no Windows Server. Este tema explica como possibilitar este cenário e montar um projeto.
Pré-requisitos
- Visual Studio para Windows
- ASP.NET e carga de trabalho de desenvolvimento web
- Carga de trabalho de desenvolvimento multiplataforma .NET Core
- Certificado de segurança X.509 (para suporte a HTTPS)
Ativar IIS
- No Windows, navegue atéProgramas> do Painel> de ControloProgramas e Funcionalidades>Ativar ou desativar as funcionalidades do Windows (lado esquerdo do ecrã).
- Selecione a caixa de seleção dos Serviços de Informação da Internet . Selecione OK.
A instalação do IIS pode exigir um reinício do sistema.
Configurar IIS
O IIS deve ter um site configurado com o seguinte:
-
Nome do anfitrião: Normalmente, o site padrão é usado com o nome de anfitrião de
localhost. No entanto, qualquer site IIS válido com um nome de host único funciona. -
Vinculação do Site
- Para aplicações que requerem HTTPS, crie uma ligação à porta 443 com um certificado. Normalmente, utiliza-se o IIS Express Development Certificate , mas qualquer certificado válido serve.
- Para aplicações que usam HTTP, confirme a existência de um binding para o post 80 ou crie um binding para a porta 80 para um novo site.
- Use uma única ligação para HTTP ou HTTPS. Não é suportado ligar simultaneamente às portas HTTP e HTTPS.
Ativar o suporte IIS em tempo de desenvolvimento no Visual Studio
Inicie o instalador do Visual Studio.
Selecione Modificar para a instalação do Visual Studio que planeia usar para suporte em tempo de desenvolvimento do IIS.
Para a carga de trabalho ASP.NET e desenvolvimento web, localize e instale o componente suporte IIS durante o desenvolvimento.
O componente está listado na secção Opcional em suporte de IIS no tempo de desenvolvimento, no painel detalhes de instalação à direita dos workloads. O componente instala o ASP.NET Core Module, que é um módulo IIS nativo necessário para correr ASP.NET aplicações Core com IIS.
Configurar o projeto
Redirecionamento HTTPS
Para um novo projeto que requer HTTPS, selecione a caixa de seleção para Configurar para HTTPS na janela Criar uma nova ASP.NET Aplicação Web Core . Marcar a caixa de verificação adiciona redirecionamento HTTPS e middleware HSTS à aplicação quando esta é criada.
Para um projeto existente que exige HTTPS, utilize "HTTPS Redirection" e "HSTS Middleware" em Startup.Configure. Para obter mais informações, consulte Impor HTTPS no ASP.NET Core.
Para um projeto que usa HTTP, o redirecionamento HTTPS e o middleware HSTS não são adicionados à aplicação. Não é necessária qualquer configuração da aplicação.
Perfil de lançamento do IIS
Crie um novo perfil de lançamento para adicionar suporte IIS em tempo de desenvolvimento:
Clique com o botão direito do projeto no Explorador de Soluções. Selecione Propriedades. Abra o separador Debug .
Para Perfil, selecione o botão Novo. Nomeie o perfil como "IIS" na janela pop-up. Selecione OK para criar o perfil.
Para a definição de Lançamento , selecione IIS da lista.
Selecione a caixa de seleção para Iniciar o navegador e forneça o URL do endpoint.
Quando a aplicação requer HTTPS, use um ponto final HTTPS (
https://). Para HTTP, use um endpoint HTTP (http://).Fornecer o mesmo nome de host e porta que a configuração IIS especificada anteriormente utilizou, tipicamente
localhost.Fornece o nome da aplicação no final da URL.
Por exemplo,
https://localhost/WebApplication1(HTTPS) ouhttp://localhost/WebApplication1(HTTP) são URLs válidos de endpoint.Na secção Variáveis de Ambiente , selecione o botão Adicionar . Forneça uma variável de ambiente com um Nome de
ASPNETCORE_ENVIRONMENTe um Valor deDevelopment.Na área Definições do Servidor Web, defina o URL da Aplicação para o mesmo valor usado para o URL do endpoint do navegador de arranque.
Para a definição de Modelo de Alojamento no Visual Studio 2019 ou posterior, selecione Padrão para usar o modelo de alojamento utilizado pelo projeto. Se o projeto definir a
<AspNetCoreHostingModel>propriedade no seu ficheiro de projeto, utiliza-se o valor da propriedade (InProcessouOutOfProcess). Se a propriedade não estiver presente, é usado o modelo de alojamento padrão da aplicação, que está fora de processo. Se a aplicação exigir uma definição explícita do modelo de alojamento diferente do modelo normal da aplicação, defina o Modelo de Alojamento paraIn ProcessouOut Of Process, conforme necessário.Guarde o perfil.
Quando não estiver a usar o Visual Studio, adicione manualmente um perfil de lançamento ao ficheiro launchSettings.json na pasta Properties . O exemplo seguinte 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 que os endpoints applicationUrl e launchUrl correspondem e usam o mesmo protocolo da configuração de binding IIS, seja HTTP ou HTTPS.
Executar o projeto
Execute o Visual Studio como administrador:
- Confirme que a lista suspensa de configuração de compilação está definida como Debug.
- Defina o botão Iniciar Depuração no perfil IIS e selecione o botão para iniciar a aplicação.
O Visual Studio pode pedir um reinício se não for executado como administrador. Se for solicitado, reinicie o Visual Studio.
Se for utilizado um certificado de desenvolvimento não confiável, o navegador pode exigir que crie uma exceção para o certificado não confiável.
Observação
Depurar uma configuração de build Release com Just My Code e otimizações do compilador resulta numa experiência degradada. Por exemplo, os breakpoints não são atingidos.