Partilhar via


Suporte do IIS durante o tempo de desenvolvimento no Visual Studio para ASP.NET Core

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.

Por Sourabh Shirhatti

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

  1. No Windows, navegue atéProgramas> do Painel> de ControloProgramas e Funcionalidades>Ativar ou desativar as funcionalidades do Windows (lado esquerdo do ecrã).
  2. 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

  1. Inicie o instalador do Visual Studio.

  2. Selecione Modificar para a instalação do Visual Studio que planeia usar para suporte em tempo de desenvolvimento do IIS.

  3. 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:

  1. Clique com o botão direito do projeto no Explorador de Soluções. Selecione Propriedades. Abra o separador Debug .

  2. Para Perfil, selecione o botão Novo. Nomeie o perfil como "IIS" na janela pop-up. Selecione OK para criar o perfil.

  3. Para a definição de Lançamento , selecione IIS da lista.

  4. 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) ou http://localhost/WebApplication1 (HTTP) são URLs válidos de endpoint.

  5. Na secçã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 de Development.

  6. 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.

  7. 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 (InProcess ou OutOfProcess). 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 para In Process ou Out Of Process, conforme necessário.

  8. 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

  1. No Windows, navegue atéProgramas> do Painel> de ControloProgramas e Funcionalidades>Ativar ou desativar as funcionalidades do Windows (lado esquerdo do ecrã).
  2. 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

  1. Inicie o instalador do Visual Studio.

  2. Selecione Modificar para a instalação do Visual Studio que planeia usar para suporte em tempo de desenvolvimento do IIS.

  3. 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:

  1. Clique com o botão direito do projeto no Explorador de Soluções. Selecione Propriedades. Abra o separador Debug .

  2. Para Perfil, selecione o botão Novo. Nomeie o perfil como "IIS" na janela pop-up. Selecione OK para criar o perfil.

  3. Para a definição de Lançamento , selecione IIS da lista.

  4. 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) ou http://localhost/WebApplication1 (HTTP) são URLs válidos de endpoint.

  5. Na secçã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 de Development.

  6. 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.

  7. 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 (InProcess ou OutOfProcess). 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 para In Process ou Out Of Process, conforme necessário.

  8. 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