Depuração remota do ASP.NET Core no IIS usando uma VM do Azure do Visual Studio

Este guia explica como definir e configurar um aplicativo do ASP.NET Core do Visual Studio, como implantá-lo no IIS usando uma VM do Azure e como anexar o depurador remoto do Visual Studio.

Para cenários do IIS, não há suporte para Linux.

Para depurar o IIS em uma VM do Azure, siga as etapas neste artigo. Com este método, você pode usar uma configuração personalizada do IIS, mas as etapas de configuração e implantação são mais complicadas. Se você não precisar personalizar o IIS em seu cenário, escolha métodos mais simples para hospedar e depurar o aplicativo no Serviço de Aplicativo do Azure.

Para uma VM do Azure, você deve implantar o aplicativo do Visual Studio no Azure e também precisa instalar manualmente a função do IIS e o depurador remoto, conforme mostrado na ilustração a seguir.

Diagrama mostrando a relação entre o Visual Studio, uma VM do Azure e um aplicativo ASP.NET. O IIS e o Depurador Remoto são representados com linhas sólidas.

Aviso

Exclua os recursos do Azure criados quando concluir as etapas deste tutorial. Dessa forma, você evita incorrer em cobranças desnecessárias.

Esses procedimentos foram testados nessas configurações de servidor:

  • Windows Server 2022 e IIS 10
  • Windows Server 2019 e IIS 10
  • Windows Server 2016 e IIS 10

Pré-requisitos

O Visual Studio 2019 ou versões posteriores é necessário para seguir as etapas mostradas neste artigo.

Requisitos de rede

Não há suporte para a depuração entre dois computadores conectados por meio de um proxy. A depuração por uma conexão de alta latência ou baixa largura de banda, como Internet discada ou pela Internet entre países/regiões, não é recomendada e pode falhar ou ser inaceitavelmente lenta. Para obter uma lista completa dos requisitos, confira Requisitos.

O aplicativo já está em execução no IIS na VM do Azure?

Este artigo inclui etapas sobre como definir uma configuração básica do IIS no servidor Windows e implantar o aplicativo por meio do Visual Studio. Essas etapas são incluídas para garantir que o servidor tenha os componentes necessários instalados, que o aplicativo possa ser executado corretamente e que você esteja pronto para depuração remota.

  • Se o aplicativo estiver em execução no IIS e você quiser apenas baixar o depurador remoto e iniciar a depuração, acesse Baixar e Instalar as ferramentas remotas no Windows Server.

  • Se você quiser ajuda para garantir que seu aplicativo esteja configurado, implantado e executado corretamente no IIS para que possa depurar, siga todas as etapas neste artigo.

    • Antes de começar, siga todas as etapas descritas em Criar uma Máquina Virtual do Windows, que inclui etapas para instalar o servidor Web do IIS.

    • Abra a porta 80 no Grupo de segurança rede do Azure. Ao verificar se a porta 80 está aberta, abra também a porta correta para o depurador remoto (4026, 4024 ou 4022). Dessa forma, você não terá que abri-la mais tarde. Se você estiver usando a Implantação da Web, abra também a porta 8172.

Criar o aplicativo ASP.NET Core no computador do Visual Studio

  1. Crie um novo Aplicativo Web ASP.NET Core.

    No Visual Studio, escolha Arquivo>Janela de início para abrir a Janela de início e, em seguida, escolha Criar um novo projeto. Na caixa de pesquisa, digite aplicativo Web, escolha C# como a linguagem, escolha Aplicativo Web ASP.NET Core (Model-View-Controller) e escolha Avançar. Na próxima tela, dê o nome MyASPApp ao projeto e escolha Avançar.

    Escolha a estrutura de destino recomendada ou o .NET 8 e escolha Criar. A versão deve corresponder à versão instalada no servidor.

  2. Abra o arquivo HomeController.cs na pasta Controladores e defina um ponto de interrupção na instrução return View; do método Privacy.

    Em modelos mais antigos, abra o arquivo Privacy.cshtml.cs e defina um ponto de interrupção no método OnGet.

Atualizar as configurações de segurança do navegador no Windows Server

Se você estiver usando uma versão mais antiga do Windows Server, talvez seja necessário adicionar alguns domínios como sites confiáveis para permitir que você baixe alguns dos componentes do servidor Web. Adicione os sites confiáveis acessando Opções da Internet > Segurança > Sites Confiáveis > Sites. Adicione os domínios a seguir.

  • microsoft.com
  • go.microsoft.com
  • download.microsoft.com
  • iis.net

Ao baixar o software, você pode receber solicitações para conceder permissão para carregar vários scripts e recursos do site. Alguns desses recursos não são necessários, mas para simplificar o processo, clique em Adicionar quando for solicitado.

Instalar o ASP.NET Core no Windows Server

  1. Instale o pacote de hospedagem do .NET Core no sistema de hospedagem. O pacote instala o Runtime .NET Core, a Biblioteca do .NET Core e o Módulo do ASP.NET Core. Para obter instruções mais detalhadas, veja Publicar no IIS.

    Para o pacote de hospedagem atual do .NET Core, instale o Pacote de hospedagem do ASP.NET Core.

    Observação

    Se você instalou o IIS anteriormente, o módulo IIS do ASP.NET Core será instalado com o ASP.NET Core. Caso contrário, instale o módulo IIS do ASP.NET Core manualmente.

    Para o .NET Core 2, instale a Hospedagem do Windows Server do .NET Core.

    Observação

    Se o sistema não tiver uma conexão com a Internet, obtenha e instale os Pacotes redistribuíveis do Microsoft Visual C++ 2015 antes de instalar o pacote de hospedagem do Windows Server do .NET Core.

  2. Reinicie o sistema (ou execute net stop was /y seguido por net start w3svc em um prompt de comando para reconhecer uma alteração no PATH do sistema).

Escolha uma opção de implantação

Se você precisar de ajuda para implantar o aplicativo no IIS, considere estas opções:

  • Faça a implantação ao criar um arquivo de configurações de publicação no IIS e ao importar as configurações no Visual Studio. Em alguns cenários, essa abordagem é uma maneira rápida de implantar seu aplicativo. Ao criar o arquivo de configurações de publicação, as permissões são configuradas automaticamente no IIS.

  • Faça a implantação ao publicar em uma pasta local e copiar a saída por meio de um método preferencial para uma pasta de aplicativo preparada no IIS.

(Opcional) Implantar usando um arquivo de configurações de publicação

É possível usar essa opção para criar um arquivo de configurações de publicação e importá-lo para o Visual Studio.

Observação

Esse método de implantação usa a Implantação da Web, que deve ser instalada no servidor. Se você quiser configurar a Implantação da Web manualmente em vez de importar as configurações, instale a Implantação da Web 3.6 em vez da Implantação da Web 3.6 para Servidores de Hospedagem. No entanto, se você configurar a Implantação da Web manualmente, precisará verificar se uma pasta de aplicativo no servidor está configurada com os valores e permissões corretos (veja Configurar site do ASP.NET).

Configurar o site do ASP.NET Core

  1. No Gerenciador do IIS, no painel à esquerda em Conexões, selecione Pools de Aplicativos. Abra DefaultAppPool e defina a Versão do CLR do .NET como Sem Código Gerenciado. Isso é necessário para o ASP.NET Core. O Site Padrão usa o DefaultAppPool.

  2. Pare e reinicie o DefaultAppPool.

Instalar e configurar a Implantação da Web no Windows Server

A Implantação da Web fornece recursos adicionais de configuração que permitem a criação do arquivo de configurações de publicação por meio da interface do usuário.

Observação

O Web Platform Installer não é mais fabricado desde 01/07/22. Para obter mais informações, consulte Web Platform Installer – Fim do suporte e encerramento do produto/feed de aplicativo. É possível instalar diretamente a Implantação da Web 4.0 para criar o arquivo de configurações de publicação.

  1. Se você ainda não instalou as Ferramentas e Scripts de Gerenciamento do IIS, instale-as agora.

    Acesse Selecionar funções de servidor>Servidor Web (IIS)>Ferramentas de Gerenciamento e, em seguida, selecione a função Scripts de gerenciamento e ferramentas do IIS, clique em Avançar e, em seguida, instale a função.

    Instalar Scripts de gerenciamento e ferramentas do IIS

    Os scripts e as ferramentas são necessários para permitir a geração do arquivo de configurações da publicação.

    Você também deve instalar o Serviço de Gerenciamento e o Console de Gerenciamento do IIS (talvez já estejam instalados).

  2. No Windows Server, baixe a Implantação da Web 4.0.

  3. Execute o programa de instalação da Implantação da Web e selecione instalação Completa em vez de uma instalação normal.

    Com uma instalação completa, é possível obter os componentes necessários para gerar um arquivo de configurações de publicação. (Se selecionar Personalizado, é possível ver a lista de componentes, conforme mostrado na ilustração a seguir.)

    Captura de tela mostrando componentes da Implantação da Web 4.0

  4. (Opcional) Verifique se a Implantação da Web está sendo executada corretamente abrindo Painel de Controle > Sistema e Segurança > Ferramentas Administrativas > Serviços e verifique se:

    • O Microsoft Deployment Agent Service está em execução (o nome do serviço é diferente em versões mais antigas).

    • O Serviço de Gerenciamento da Web está em execução.

    Se um dos serviços de agente não estiver em execução, reinicie o Web Deployment Agent Service.

    Se o Web Deployment Agent Service não estiver presente, acesse Painel de Controle > Programas > Desinstalar um programa, localize Implantação da Web da Microsoft <versão>. Escolha Alterar a instalação e confirme se escolhe a opção Será instalado na unidade de disco rígido local para os componentes de Implantação da Web. Conclua as etapas de instalação de alteração.

Criar o arquivo de configurações de publicação no IIS no Windows Server

  1. Feche e reabra o Console de gerenciamento do IIS para mostrar opções de configuração atualizadas na interface do usuário.

  2. No IIS, clique com o botão direito do mouse em Site Padrão, escolha Implantar>Configurar publicação da Implantação da Web.

    Definir a configuração da Implantação da Web

    Se não aparecer o menu Implantar, confira a seção anterior para verificar se a Implantação da Web está em execução.

  3. Na caixa de diálogo Configurar publicação da Implantação da Web, examine as configurações.

  4. Clique em Instalação.

    No painel Resultados, a saída mostra que os direitos de acesso foram concedidos ao usuário especificado e que um arquivo com uma extensão .publishsettings foi gerado na localização mostrada na caixa de diálogo.

    <?xml version="1.0" encoding="utf-8"?>
    <publishData>
      <publishProfile
        publishUrl="https://myhostname:8172/msdeploy.axd"
        msdeploySite="Default Web Site"
        destinationAppUrl="http://myhostname:80/"
        profileName="Default Settings"
        publishMethod="MSDeploy"
        userName="myhostname\myusername" />
    </publishData>
    

    Dependendo da configuração do Windows Server e do IIS, você verá diferentes valores no arquivo XML. Veja alguns detalhes sobre os valores que você vê:

    • O arquivo msdeploy.axd referenciado no atributo publishUrl é um arquivo de manipulador HTTP gerado dinamicamente para a Implantação da Web. (Para fins de teste http://myhostname:8172 geralmente também funciona).

    • A porta publishUrl é definida como a porta 8172, que é a padrão para a Implantação da Web.

    • A porta destinationAppUrl é definida como a porta 80, que é a padrão para o IIS.

    • Se, nas etapas posteriores, você não conseguir se conectar ao host remoto pelo Visual Studio usando o nome do host, teste o endereço IP do servidor no lugar do nome de host.

      Observação

      Se você estiver publicando no IIS em execução em uma VM do Azure, será necessário abrir uma porta de entrada para a Implantação da Web e o IIS no grupo de Segurança de Rede. Para obter informações detalhadas, confira Abrir portas para uma máquina virtual.

  5. Copie esse arquivo para o computador em que você está executando o Visual Studio.

Importar as configurações de publicação no Visual Studio e implantar

  1. No computador em que você tem o projeto ASP.NET aberto no Visual Studio, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e escolha Publicar.

    Se você já tiver configurado anteriormente quaisquer perfis de publicação, o painel Publicar será exibido. Clique em Novo ou Criar perfil.

  2. Selecione a opção para importar um perfil.

    Na caixa de diálogo Publicar, clique em Importar perfil.

    Escolha Publicar

  3. Navegue até a localização do arquivo de configurações de publicação que você criou na seção anterior.

  4. Na caixa de diálogo Importar Arquivo de Configurações de Publicação, navegue até o perfil criado na seção anterior, selecione-o e clique em Abrir.

    Clique em Concluir para salvar o perfil de publicação e, em seguida, clique em Publicar.

    O Visual Studio inicia o processo de implantação e a janela de Saída mostra o andamento e os resultados.

    Se você se deparar com erros de implantação, clique em Mais Ações>Editar para editar as configurações. Modifique as configurações e clique em Validar para testar as novas. Se o nome do host não for encontrado, experimente o endereço IP em vez do nome de host nos campos Servidor e URL de destino.

    Editar configurações na ferramenta Publicar

Observação

Se você reiniciar uma VM do Azure, o endereço de IP poderá ser alterado.

Depois que o aplicativo for implantado com êxito, ele deverá ser iniciado automaticamente.

  • Se o aplicativo não for iniciado após a implantação, inicie-o no IIS para verificar se ele está sendo executado corretamente.
  • No ASP.NET Core, certifique-se de que o campo do pool de Aplicativos do DefaultAppPool está definido como Sem Código Gerenciado.

Quando você estiver pronto, alterne para uma configuração de depuração.

Importante

Se você escolher uma Configuração de versão, desabilite a depuração no arquivo web.config ao publicar.

  1. Escolha Mais Opções>Editar para editar o perfil e escolha Configurações.
  2. Clique em Salvar e publique o aplicativo novamente.
  3. Escolha uma configuração de Depuração e escolha Remover arquivos adicionais no destino nas opções de Publicação do Arquivo.
  1. Selecione Editar para editar o perfil e selecione Configurações.
  2. Clique em Salvar e publique o aplicativo novamente.
  3. Escolha uma configuração de Depuração e escolha Remover arquivos adicionais no destino nas opções de Publicação do Arquivo.

(Opcional) Implantar publicando em uma pasta local

Você pode usar essa opção para implantar seu aplicativo se quiser copiar o aplicativo para o IIS usando o PowerShell, o RoboCopy ou se quiser copiar manualmente os arquivos.

Configurar o site do ASP.NET Core no computador do Windows Server

Se você estiver importando as configurações de publicação, poderá ignorar esta seção.

  1. Abra o Gerenciador do IIS (Serviços de Informações da Internet) e acesse Sites.

  2. Clique com o botão direito do mouse no nó Site Padrão e selecione Adicionar Aplicativo.

  3. Defina o campo Alias como MyASPApp e o campo Pool de aplicativos como Sem Código Gerenciado. Defina o Caminho físico como C:\Publish (no qual você implantará posteriormente o projeto do ASP.NET Core).

  4. Com o site selecionado no Gerenciador do IIS, escolha Editar Permissões e confirme se IUSR, IIS_IUSRS ou o usuário configurado para o Pool de Aplicativos é um usuário autorizado com direitos de execução e de leitura.

    Se você não vir um desses usuários com acesso, siga as etapas para adicionar o IUSR como um usuário com direitos de Leitura e Execução.

(Opcional) Publicar e implantar o aplicativo por meio da publicação em uma pasta local do Visual Studio

Se você não estiver usando a Implantação da Web, deverá publicar e implantar o aplicativo usando o sistema de arquivos ou outras ferramentas. Você pode começar criando um pacote usando o sistema de arquivos e, em seguida, implantar o pacote manualmente ou usar outras ferramentas como PowerShell, Robocopy ou XCopy. Nesta seção, presumimos que você esteja copiando manualmente o pacote se não estiver usando a Implantação da Web.

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Publicar (para o Web Forms, Publicar Aplicativo Web).

    Se você já tiver configurado anteriormente quaisquer perfis de publicação, o painel Publicar será exibido. Clique em Novo perfil.

  2. Na caixa de diálogo Publicar, selecione Pasta, clique em Procurar e crie uma pasta, C:\Publish.

    Captura de tela da caixa de diálogo Escolher um destino de publicação no Visual Studio com a pasta

    Clique em Concluir para salvar o perfil de publicação.

    Captura de tela da caixa de diálogo Escolher um destino de publicação no Visual Studio com a pasta

    Clique em Concluir para salvar o perfil de publicação.

  3. Alterne para uma configuração de depuração.

    Escolha Editar para editar o perfil e depois Configurações. Escolha uma configuração de Depuração e, em seguida, escolha Remover arquivos adicionais no destino nas opções de Publicação do Arquivo.

    Captura de tela da guia Configurações na caixa de diálogo Publicar. A configuração é definida como Depurar e o botão Publicar é selecionado.

    Observação

    Se você usar um build de Versão, desabilite a depuração no arquivo web.config depois da publicação.

  4. Clique em Publicar.

    O aplicativo publica uma configuração de Depuração do projeto na pasta local. O progresso aparece na janela Saída.

  5. Copie o diretório do projeto ASP.NET do computador do Visual Studio para o diretório local configurado para o aplicativo ASP.NET (neste exemplo, C:\Publish) no computador do Windows Server. Neste tutorial, levamos em consideração que você está copiando manualmente, mas você pode usar outras ferramentas como PowerShell, Xcopy ou Robocopy.

    Cuidado

    Se precisar fazer alterações no código ou fazer recompilação, será necessário republicar e repetir esta etapa. O executável que você copiou para o computador remoto deve corresponder exatamente à origem e aos símbolos locais. Se não fizer essa etapa, receberá um aviso cannot find or open the PDB file no Visual Studio ao tentar depurar o processo.

  6. No Windows Server, verifique se consegue executar o aplicativo corretamente abrindo-o no navegador.

    Se o aplicativo não for executado corretamente, pode haver uma incompatibilidade entre a versão do ASP.NET instalada no servidor e no computador do Visual Studio ou pode haver um problema com a configuração do IIS ou do site. Verifique novamente as etapas anteriores.

Baixar e instalar as ferramentas remotas no Windows Server

Baixe a versão das ferramentas remotas que correspondam à sua versão do Visual Studio.

No dispositivo ou servidor remoto no qual você deseja depurar e não no computador do Visual Studio, baixe e instale a versão correta das ferramentas remotas usando os links na tabela a seguir.

  • Baixe a atualização mais recente das ferramentas remotas para a sua versão do Visual Studio. As versões de ferramentas remotas anteriores não são compatíveis com versões posteriores do Visual Studio. (Por exemplo, se você estiver usando o Visual Studio 2019, baixe a atualização mais recente das ferramentas remotas para Visual Studio 2019. Nesse cenário, não baixe as ferramentas remotas para o Visual Studio 2022.)
  • Baixe as ferramentas remotas com a mesma arquitetura que a o computador em que você as está instalando. Por exemplo, se você deseja depurar aplicativos x86 em um computador remoto executando um sistema operacional x64, instale as ferramentas remotas de x64. Para depurar aplicativos x86, ARM ou x64 em um sistema operacional ARM64, instale as ferramentas remotas de ARM64.
Versão Link Observações
Visual Studio 2022 Ferramentas remotas Compatível com todas as versões do Visual Studio 2022. Faça download da versão correspondente ao sistema operacional do seu dispositivo (x86, x64 [AMD64] ou ARM64). Nas versões mais antigas do Windows Server, confira Desbloquear o download do arquivo para obter ajuda para baixar as ferramentas remotas.
Visual Studio 2019 Ferramentas remotas As ferramentas remotas para Visual Studio 2019 estão disponíveis em My.VisualStudio.com. Se solicitado, ingresse no programa gratuito Visual Studio Dev Essentials ou entre com sua ID de assinatura do Visual Studio. Faça download da versão correspondente ao sistema operacional do seu dispositivo (x86, x64 [AMD64] ou ARM64). Nas versões mais antigas do Windows Server, confira Desbloquear o download do arquivo para obter ajuda para baixar as ferramentas remotas.
Visual Studio 2017 Ferramentas remotas As ferramentas remotas para Visual Studio 2017 estão disponíveis em My.VisualStudio.com. Se solicitado, ingresse no programa gratuito Visual Studio Dev Essentials ou entre com sua ID de assinatura do Visual Studio. Faça download da versão correspondente ao sistema operacional do seu dispositivo (x86, x64 [AMD64] ou ARM64). No Windows Server, confira Desbloquear o download do arquivo para obter ajuda para baixar as ferramentas remotas.
Visual Studio 2015 Ferramentas remotas As ferramentas remotas para o Visual Studio 2015 estão disponíveis no My.VisualStudio.com. Se solicitado, ingresse no programa gratuito Visual Studio Dev Essentials ou entre com sua ID de assinatura do Visual Studio. No Windows Server, confira Desbloquear o download do arquivo para obter ajuda para baixar as ferramentas remotas.
Visual Studio 2013 Ferramentas remotas Página de download na documentação do Visual Studio 2013
Visual Studio 2012 Ferramentas remotas Página de download na documentação do Visual Studio 2012
Versão Link Observações
Visual Studio 2019 Ferramentas remotas Compatível com todas as versões do Visual Studio 2019. Faça download da versão correspondente ao sistema operacional do seu dispositivo (x86, x64 [AMD64] ou ARM64). No Windows Server, confira Desbloquear o download do arquivo para obter ajuda para baixar as ferramentas remotas. Para obter a versão mais recente das ferramentas remotas, abra a documentação do Visual Studio 2022.
Visual Studio 2017 Ferramentas remotas Compatível com todas as versões do Visual Studio 2017. Faça download da versão correspondente ao sistema operacional do seu dispositivo (x86, x64 [AMD64] ou ARM64). No Windows Server, confira Desbloquear o download do arquivo para obter ajuda para baixar as ferramentas remotas.
Visual Studio 2015 Ferramentas remotas As ferramentas remotas para o Visual Studio 2015 estão disponíveis no My.VisualStudio.com. Se solicitado, ingresse no programa gratuito Visual Studio Dev Essentials ou entre com sua ID de assinatura do Visual Studio. No Windows Server, confira Desbloquear o download do arquivo para obter ajuda para baixar as ferramentas remotas.
Visual Studio 2013 Ferramentas remotas Página de download na documentação do Visual Studio 2013
Visual Studio 2012 Ferramentas remotas Página de download na documentação do Visual Studio 2012

Você pode executar o depurador remoto copiando o msvsmon.exe para o computador remoto, em vez de instalar as ferramentas remotas. No entanto, o Assistente de Configuração do Depurador Remoto (rdbgwiz.exe) só estará disponível quando você instalar as ferramentas remotas. Talvez seja necessário usar o assistente de configuração se você quiser executar o depurador remoto como um serviço. Para obter mais informações, veja (Opcional) Configurar o depurador remoto como um serviço.

Observação

  • Para depurar aplicativos Windows 10 ou posteriores em dispositivos ARM, use o ARM64, que está disponível com a versão mais recente das ferramentas remotas.
  • Para depurar aplicativos Windows 10 em dispositivos Windows RT, use o ARM, que está disponível apenas no download de ferramentas remotas do Visual Studio 2015.
  • Para depurar aplicativos x64 em um sistema operacional ARM64, execute o msvsmon.exe x64 instalado com as ferramentas remotas de ARM64.

Configurar o depurador remoto no Windows Server

  1. No computador remoto, localize e inicie o Depurador Remoto no menu Iniciar.

    Se você não tiver permissões administrativas no computador remoto, clique com o botão direito do mouse no aplicativo Depurador Remoto e selecione Executar como administrador. Caso contrário, basta iniciá-lo normalmente.

    Se você estiver planejando anexar a um processo que está em execução como administrador ou estiver em execução em outra conta de usuário (como o IIS), clique com o botão direito do mouse no aplicativo Depurador Remoto e selecione Executar como administrador. Para obter mais informações, confira Executar o depurador remoto como administrador.

  2. Na primeira vez em que você iniciar o depurador remoto (ou antes de configurá-lo), o assistente Configuração de Depuração Remota aparecerá.

    Na maioria dos cenários, escolha Avançar até chegar à página do assistente Configurar o Firewall do Windows.

    Captura de tela da configuração do depurador remoto.

    Captura de tela da configuração do depurador remoto.

    Se a API de Serviços Web do Windows não estiver instalada, o que ocorre apenas no Windows Server 2008 R2, selecione o botão Instalar.

  3. Selecione pelo menos um tipo de rede no qual você deseja usar as ferramentas remotas. Se os computadores estiverem conectados por meio de um domínio, você deverá escolher o primeiro item. Se os computadores estiverem conectados por meio de um grupo de trabalho ou grupo doméstico, escolha o segundo ou terceiro item conforme apropriado.

    Depois, selecione Concluir para iniciar o depurador remoto.

    Em seguida, selecione Configurar depuração remota para iniciar o depurador remoto.

  4. Quando a configuração for concluída, a janela Depurador Remoto será exibida.

    Captura de tela da janela do depurador remoto

    Captura de tela da janela do depurador remoto

    Agora o depurador remoto está aguardando uma conexão. Use o nome do servidor e o número da porta mostrados para definir a configuração de conexão remota no Visual Studio.

Para interromper o depurador remoto, selecioneArquivo>Sair. Você pode reiniciá-lo no menu Iniciar ou na linha de comando:

<Remote debugger installation directory>\msvsmon.exe

Observação

Se você precisar adicionar permissões para outros usuários, altere o modo de autenticação ou o número da porta para o depurador remoto; veja Configurar o depurador remoto.

Anexar ao aplicativo ASP.NET Core por meio do computador do Visual Studio

A partir do Visual Studio 2022 versão 17.10 Preview 2, a caixa de diálogo Anexar ao Processo foi alterada. Se precisar de instruções que correspondam à caixa de diálogo mais antiga, alterne para o modo de exibição do Visual Studio 2019 (seletor de versão superior esquerda no artigo).

  1. No computador do Visual Studio, abra a solução que você está tentando depurar (MyASPApp se você estiver seguindo todas as etapas neste artigo).

  2. No Visual Studio, clique em Depurar > Anexar ao Processo (Ctrl + Alt + P).

    Dica

    No Visual Studio 2017 e versões posteriores, é possível anexar novamente ao mesmo processo anexado anteriormente usando Depurar > Reanexar ao Processo... (Shift + Alt + P).

  3. Defina o Tipo de conexão como Remota (Windows).

    A opção Destino da Conexão é exibida.

    Defina o Destino da Conexão como <nome do computador remoto> e pressione Enter.

    Verifique se o Visual Studio adiciona a porta necessária ao nome do computador, que aparece no formato: <nome do computador remoto>:porta

    No Visual Studio 2022, você deve ver <nome do computador remoto>:4026

    A porta é necessária. Se você não conseguir visualizar o número da porta, adicione-o de forma manual.

  1. No computador do Visual Studio, abra a solução que você está tentando depurar (MyASPApp se você estiver seguindo todas as etapas neste artigo).

  2. No Visual Studio, clique em Depurar > Anexar ao Processo (Ctrl + Alt + P).

    Dica

    No Visual Studio 2017 e versões posteriores, é possível anexar novamente ao mesmo processo anexado anteriormente usando Depurar > Reanexar ao Processo... (Shift + Alt + P).

  3. Defina o campo Qualificador como <nome do computador remoto> e pressione Enter.

    Verifique se o Visual Studio adiciona a porta necessária ao nome do computador, que aparece no formato: <nome do computador remoto>:porta

    No Visual Studio 2019, você deve ver <nome do computador remoto>:4024

    A porta é necessária. Se você não conseguir visualizar o número da porta, adicione-o de forma manual.

  1. Selecione Atualizar.

    Veja alguns processos aparecerem na janela Processos Disponíveis.

    Se não visualizar nenhum processo, tente usar o endereço IP em vez do nome do computador remoto (a porta é necessária). Você pode usar ipconfig em uma linha de comando para obter o endereço IPv4.

    Se você quiser usar o botão Localizar, talvez seja necessário abrir a porta UDP 3702 de saída no servidor.

  2. Verifique Mostrar processos de todos os usuários.

  3. Digite a primeira letra do nome do processo para localizar rapidamente seu aplicativo.

    • Se você estiver usando o modelo de hospedagem em processo no IIS, selecione o processo w3wp.exe correto. A partir do .NET Core 3, esse processo é o padrão.

    • Caso contrário, selecione o processo dedotnet.exe. (Este é o modelo de hospedagem fora do processo.)

    Se você tiver vários processos mostrando w3wp.exe ou dotnet.exe, verifique a coluna Nome de Usuário. Em alguns cenários, a coluna Nome de Usuário mostra o nome do pool de aplicativos, como IIS APPPOOL\DefaultAppPool. Se você vir o Pool de Aplicativos, mas ele não for exclusivo, crie um Pool de Aplicativos com um novo nome para a instância de aplicativo que você deseja depurar e, em seguida, poderá encontrá-lo facilmente na coluna Nome de Usuário.

    Captura de tela da caixa de diálogo Anexar ao Processo.

    Captura de tela da caixa de diálogo Anexar ao Processo.

  4. Selecionar Anexar.

  5. Abra o site do computador remoto. Em um navegador, acesse http://<nome do computador remoto>.

    Deve aparecer a página da Web do ASP.NET.

  6. No aplicativo ASP.NET em execução, selecione o link para a página Privacidade.

    O ponto de interrupção deve ser atingido no Visual Studio.

    Se você não conseguir anexar nem atingir o ponto de interrupção, consulte Solucionar problemas de depuração remota.

Solução de problemas de implantação do IIS

  • Se não for possível se conectar ao host usando o nome do host, tente o endereço IP.
  • Verifique se as portas necessárias estão abertas no servidor remoto.
  • Para ASP.NET Core, é necessário certificar-se de que o campo do pool de aplicativos para o DefaultAppPool está definido como Sem código gerenciado.
  • Verifique se a versão do ASP.NET usada em seu aplicativo é a mesma que a versão instalada no servidor. Para o aplicativo, confira e defina a versão na página Propriedades. Para definir o aplicativo com uma versão diferente, essa versão deve estar instalada.
  • Se o aplicativo tentar abrir, mas você receber um aviso de certificado, selecione que o site é confiável. Se você já tiver fechado o aviso, é possível editar o perfil de publicação, um arquivo *.pubxml em seu projeto e adicionar o seguinte elemento (somente para teste): <AllowUntrustedCertificate>true</AllowUntrustedCertificate>
  • Depois de implantado, inicie o aplicativo no IIS para testar se ele foi implantado corretamente.
  • Verifique a janela Saída no Visual Studio para obter informações de status e verifique as mensagens de erro.

Abrir as portas necessárias no Windows Server

Na maioria das configurações, as portas necessárias são abertas pela instalação do ASP.NET e pelo depurador remoto. Porém, se você estiver solucionando problemas de implantação e o aplicativo estiver hospedado atrás de um firewall, talvez você precise verificar se as portas corretas estão abertas.

Em uma VM do Azure, você deve abrir portas por meio de:

Portas obrigatórias:

  • 80 - Necessária para o IIS
  • UDP 3702: (opcional) a porta de descoberta permite que você use o botão Localizar ao anexar ao depurador remoto no Visual Studio. Deve ser uma porta de saída (regra de saída).

Além disso, essas portas já devem ser abertas pela instalação do ASP.NET Core:

  • 8172: (opcional) a Implantação da Web precisa dessa porta para implantar o aplicativo por meio do Visual Studio