Depuração remota do ASP.NET Core no IIS usando uma VM do Azure do Visual Studio
Este guia explica como configurar e configurar um aplicativo do Visual Studio ASP.NET Core, implantá-lo no IIS usando uma VM do Azure e 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. Usando esse método, você pode usar uma configuração personalizada do IIS, mas as etapas de instalação e implantação são mais complicadas. Se você não precisar personalizar o IIS para seu cenário, poderá escolher métodos mais simples para hospedar e depurar o aplicativo em do Serviço de Aplicativo do Azure.
Para uma VM do Azure, você deve implantar seu aplicativo do Visual Studio no Azure e também precisa instalar manualmente a função IIS e o depurador remoto, conforme mostrado na ilustração a seguir.
Aviso
Exclua os recursos do Azure criados quando concluir as etapas neste tutorial. Dessa forma, você pode evitar incorrer em encargos desnecessários.
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 em uma conexão de alta latência ou baixa largura de banda, como a 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 de requisitos, consulte Requirements.
O aplicativo já está em execução no IIS na VM do Azure?
Este artigo inclui etapas para configurar uma configuração básica do IIS no servidor Windows e implantar o aplicativo no 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 de 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 precisa abri-lo mais tarde. Se você estiver usando o Web Deploy, abra também a porta 8172.
Criar o aplicativo ASP.NET Core no computador do Visual Studio
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 o idioma, escolha Aplicativo Web ASP.NET Core (Modelo-View-Controller), e escolha Avançar. Na próxima tela, dê o nome MyASPApp ao projeto e escolha Avançar.
Escolha o framework de destino recomendado ou o .NET 8 e, em seguida, escolha Criar. A versão deve corresponder à versão instalada no servidor.
Abra o arquivo HomeController.cs na pasta Controladores e defina um ponto de interrupção na instrução
return View;
no métodoPrivacy
.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, selecione Adicionar quando solicitado.
Instalar o ASP.NET Core no Windows Server
Instale o Pacote de Hospedagem do .NET Core no sistema de hospedagem. O pacote instala o Runtime do .NET Core, a Biblioteca do .NET Core e o módulo 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.
Nota
Se você instalou anteriormente o IIS, o módulo IIS do ASP.NET Core será instalado com o ASP.NET Core. Caso contrário, instale o módulo ASP.NET Core IIS manualmente.
Para o .NET Core 2, instale a Hospedagem do Windows Server do .NET Core.
Nota
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.
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).
Escolher uma opção de implantação
Se você precisar de ajuda para implantar o aplicativo no IIS, considere estas opções:
Implante criando um arquivo de configurações de publicação no IIS e importando as configurações no Visual Studio. Em alguns cenários, essa abordagem é uma maneira rápida de implantar seu aplicativo. Quando você cria o arquivo de configurações de publicação, as permissões são configuradas automaticamente no IIS.
Implante publicando em uma pasta local e copiando a saída por um método preferencial para uma pasta de aplicativo preparada no IIS.
(Opcional) Implantar usando um arquivo de configurações de publicação
Você pode usar essa opção para criar um arquivo de configurações de publicação e importá-lo para o Visual Studio.
Nota
Esse método de implantação usa o Web Deploy, que deve estar instalado 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 o Web Deploy manualmente, precisará verificar se uma pasta de aplicativo no servidor está configurada com os valores e permissões corretos (consulte Configurar site ASP.NET).
Configurar o site do ASP.NET Core
No Gerenciador do IIS, no painel esquerdo em Conexões, selecione Grupos de Aplicativos. Abra DefaultAppPool e defina a Versão do CLR do .NET como Sem Código Gerenciado. Isso é necessário para ASP.NET Core. O Site Padrão usa o DefaultAppPool.
Pare e reinicie o DefaultAppPool.
Instalar e configurar o Web Deploy no Windows Server
A Web Deploy oferece recursos de configuração adicionais que permitem criar o arquivo de configurações de publicação a partir da UI.
Nota
O Instalador da Plataforma Web chegou ao fim de seu ciclo de vida em 01/07/22. Para obter mais informações, confira Web Platform Installer – Fim do suporte e encerramento do produto/feed de aplicativo. Você pode instalar diretamente o Web Deploy 4.0 para criar o arquivo de configurações para publicação.
Se você ainda não instalou as Ferramentas e Scripts de Gerenciamento do IIS, instale-as agora.
Vá para Selecione as funções de servidor>Servidor Web (IIS)>Ferramentas de Gerenciamentoe, em seguida, selecione a função Scripts e Ferramentas de Gerenciamento do IIS, clique em Próximoe, em seguida, instale a função.
Os scripts e as ferramentas são necessários para habilitar a geração do arquivo de configurações de publicação.
Certifique-se de instalar também o Serviço de Gerenciamento e o Console de Gerenciamento do IIS (eles podem já estar instalados).
No Windows Server, baixa o Web Deploy 4.0.
Execute o programa de instalação do Web Deploy e certifique-se de selecionar instalação completa em vez de uma instalação padrão.
Com uma instalação completa, você obtém 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.)
(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:
Serviço do Agente de Implantação Web 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 Serviço do Agente de Implantação da Web.
Se o Serviço do Web Deployment Agent 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 da mudança.
Criar o arquivo de configurações de publicação no IIS no Windows Server
Feche e reabra o Console de Gerenciamento do IIS para mostrar as opções de configuração atualizadas na interface do usuário.
No IIS, clique com o botão direito do mouse em Site Padrão, escolha Implantar>Configurar publicação da Implantação da Web.
Se você não vir o menu Deploy, consulte a seção anterior para verificar se o Web Deploy está em execução.
Na caixa de diálogo Configurar publicação da Implantação da Web, examine as configurações.
Clique em Configuração.
No painel Resultados, a saída mostra que os direitos de acesso são concedidos ao usuário especificado e que um arquivo com a extensão de arquivo .publishsettings foi gerado no local mostrado 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á valores diferentes no arquivo XML. Aqui estão alguns detalhes sobre os valores que você vê:
O arquivo msdeploy.axd referenciado no atributo
publishUrl
é um arquivo de manipulador HTTP gerado dinamicamente para Web Deploy. (Para fins de teste,http://myhostname:8172
geralmente funciona também.)A porta
publishUrl
é definida como a porta 8172, que é o padrão para Web Deploy.A porta
destinationAppUrl
é definida como a porta 80, que é o padrão para o IIS.Se, em etapas posteriores, você não conseguir se conectar ao host remoto do Visual Studio usando o nome do host, teste o endereço IP do servidor no lugar do nome do host.
Nota
Se você estiver publicando no IIS em execução em uma VM do Azure, deverá abrir uma porta de entrada para Web Deploy e IIS no grupo de segurança de rede. Para obter informações detalhadas, consulte Abrir portas para uma máquina virtual.
Copie esse arquivo para o computador no qual você está executando o Visual Studio.
Importar as configurações de publicação no Visual Studio e implantar
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ê tiver configurado anteriormente quaisquer perfis de publicação, o painel Publicar será exibido. Clique em Novo ou Criar perfil.
Selecione a opção para importar um perfil.
Na caixa de diálogo Publicar, clique em Importar perfil.
Navegue até o local do arquivo de configurações de publicação que você criou na seção anterior.
Na caixa de diálogo Importar Arquivo de Configurações de Publicação, navegue até o perfil que você criou na seção anterior, selecione-o e clique em Abrir.
Clique em Concluir para salvar o perfil de publicação e clique em Publicar.
O Visual Studio inicia o processo de implantação e a janela Saída mostra o progresso e os resultados.
Se você receber 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 novas configurações. Se o nome do host não for encontrado, tente o endereço IP em vez do nome do host nos campos do Servidor e URL de Destino.
Nota
Se você reiniciar uma VM do Azure, o endereço 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 aplicativo no IIS para verificar se ele é 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.
- Selecione Mais Opções>Editar para editar o perfil e selecione Configurações.
- Selecione Salvar e, em seguida, republique o aplicativo.
- Escolha uma configuração de Depuração e escolha Remover arquivos adicionais no destino nas opções de Publicação do Arquivo.
- Selecione Editar para editar o perfil e selecione Configurações.
- Selecione Salvar e, em seguida, republicar o aplicativo.
- Escolha uma configuração de Depuração e escolha Remover arquivos adicionais no destino nas opções de Publicação do Arquivo.
Aviso
Usar credenciais de nome de usuário e senha (autenticação básica) não é o método mais seguro de autenticação. Sempre que possível, use métodos alternativos. Por exemplo, considere a publicação em um pacote do Visual Studio e, em seguida, use WebDeploy.exe de uma linha de comando para implantar o pacote. Com esse método, você pode usar o Gerenciador do IIS para configurar usuários autorizados do Windows que podem publicar no servidor Web e executar WebDeploy.exe nessa conta de usuário do Windows. Consulte Instalando e configurando a implantação da Web no IIS 8.0 ou posterior. Se você usar credenciais de senha, use uma senha forte e proteja a senha de ser vazada ou compartilhada.
(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 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, ignore esta seção.
Abra o Gerenciador do IIS (Serviços de Informações da Internet) e acesse Sites.
Clique com o botão direito do mouse no nó Site Padrão e selecione Adicionar Aplicativo.
Defina o campo Alias como MyASPApp e o campo Pool de aplicativos como Sem Código Gerenciado. Defina o caminho físico para C:\Publish (em que posteriormente você implantará o projeto ASP.NET Core).
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.
Importante
Para obter informações de segurança relacionadas às contas integradas, confira Noções básicas sobre contas de usuários e grupos integradas no IIS 7.
(Opcional) Publicar e implantar o aplicativo publicando em uma pasta local do Visual Studio
Se você não estiver usando o Web Deploy, deverá publicar e implantar o aplicativo pelo 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 o Web Deploy.
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ê tiver configurado anteriormente quaisquer perfis de publicação, o painel Publicar será exibido. Clique em Novo perfil.
Na caixa de diálogo Publicar, selecione Pasta, clique em Procurare crie uma nova pasta, C:\Publicar.
Clique em Concluir para salvar o perfil de publicação.
Clique em Concluir para salvar o perfil de publicação.
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.
Nota
Se você usar um build de Versão, desabilite a depuração no arquivo web.config depois da publicação.
Clique em Publicar.
O aplicativo publica uma configuração Debug do projeto na pasta local. O progresso aparece na janela Saída.
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:\Publicar) no computador do Windows Server. Neste tutorial, presumimos que você esteja copiando manualmente, mas pode usar outras ferramentas como PowerShell, Xcopy ou Robocopy.
Cuidado
Se você precisar fazer alterações no código ou recompilar, será necessário republicar e repetir esta etapa. O executável copiado para o computador remoto deve corresponder exatamente à origem e aos símbolos locais. Se você não fizer isso, receberá um aviso de
cannot find or open the PDB file
no Visual Studio ao tentar depurar o processo.No Windows Server, verifique se você pode executar o aplicativo corretamente abrindo o aplicativo 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 você pode ter 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 correspondem à sua versão do Visual Studio.
No dispositivo ou servidor remoto no qual você deseja depurar, em vez do computador do Visual Studio, baixe e instale a versão correta das ferramentas remotas dos links na tabela a seguir.
- Baixe a atualização mais recente das ferramentas remotas para 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 do computador em que você as está instalando. Por exemplo, se você quiser depurar aplicativos x86 em um computador remoto executando um sistema operacional x64, instale as ferramentas remotas x64. Para depurar aplicativos x86, ARM ou x64 em um sistema operacional ARM64, instale as ferramentas remotas ARM64.
Versão | Link | Anotações |
---|---|---|
Visual Studio 2022 | Ferramentas remotas | Compatível com todas as versões do Visual Studio 2022. Baixe a versão correspondente ao sistema operacional do dispositivo (x86, x64 (AMD64) ou ARM64. Em versões mais antigas do Windows Server, consulte Desbloquear o download de arquivos para obter ajuda com o download das ferramentas remotas. |
Visual Studio 2019 | Ferramentas remotas | As ferramentas remotas do Visual Studio 2019 estão disponíveis no My.VisualStudio.com. Se solicitado, ingresse no programa gratuito Visual Studio Dev Essentials ou faça login com sua ID da assinatura do Visual Studio. Baixe a versão correspondente ao sistema operacional do dispositivo (x86, x64 (AMD64) ou ARM64. Em 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 do Visual Studio 2017 estão disponíveis no My.VisualStudio.com. Se solicitado, ingresse no programa gratuito Visual Studio Dev Essentials ou faça login com sua ID de assinatura do Visual Studio. Baixe a versão correspondente ao sistema operacional do dispositivo (x86, x64 (AMD64) ou ARM64. No Windows Server, consulte Desbloquear o download de arquivo para obter ajuda com o download das ferramentas remotas. |
Visual Studio 2015 | Ferramentas remotas | As ferramentas remotas do 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 | Anotações |
---|---|---|
Visual Studio 2019 | Ferramentas remotas | Compatível com todas as versões do Visual Studio 2019. Baixe a versão correspondente ao sistema operacional do 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. Baixe a versão correspondente ao sistema operacional do 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 do Visual Studio 2015 estão disponíveis no My.VisualStudio.com. Caso solicitado, ingresse no programa gratuito Visual Studio Dev Essentials ou entre com sua identificação 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 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ó está disponível quando você instala as ferramentas remotas. Talvez seja necessário usar o assistente para a 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.
Nota
- 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 do 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 x64 msvsmon.exe que está instalado com as ferramentas remotas ARM64.
Configurar o depurador remoto no Windows Server
No computador remoto, localize e inicie o Depurador Remoto no menu Iniciar.
Se você não tiver permissões de administrador 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.
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.
Configuração do Depurador Remoto
Se a API dos Serviços Web do Windows não estiver instalada, o que acontece apenas no Windows Server 2008 R2, selecione o botão Instalar.
Selecione pelo menos um tipo de rede em que 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 homegroup, escolha o segundo ou terceiro item conforme apropriado.
Depois, selecione Concluir para iniciar o depurador remoto.
Em seguida, selecione Configuração de depuração remota para iniciar o depurador remoto.
Quando a configuração for concluída, a janela Depurador Remoto será exibida.
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
Nota
Se você precisar adicionar permissões para usuários adicionais, altere o modo de autenticação ou o número da porta para o depurador remoto, consulte Configurar o depurador remoto.
Anexar ao aplicativo ASP.NET Core no computador do Visual Studio
A partir do Visual Studio 2022 versão 17.10 Versão Prévia 2, a caixa de diálogo Anexar ao Processo foi alterada. Se você precisar de instruções que correspondam à caixa de diálogo mais antiga, alterne para a exibição do Visual Studio 2019 (seletor de versão superior esquerdo no artigo).
No computador do Visual Studio, abra a solução que você está tentando depurar (MyASPApp se você estiver seguindo todas as etapas neste artigo).
No Visual Studio, selecione 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).
Defina o Tipo de Conexão cmo Remota (Windows).
A opção Destino de Conexão será exibida.
Defina o Destino de Conexão como o <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ê deverá 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.
No computador do Visual Studio, abra a solução que você está tentando depurar (MyASPApp se você estiver seguindo todas as etapas neste artigo).
No Visual Studio, selecione Depurar > Anexar ao Processo (Ctrl + Alt + P).
Dica
No Visual Studio 2017 e versões posteriores, você pode se reconectar ao mesmo processo ao qual você se conectou previamente, utilizando Depurar > Reanexar ao Processo... (Shift + Alt + P).
Defina o campo Qualificador para <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ê deverá ver <nome do computador remoto>:4024
A porta é necessária. Se você não visualizar o número da porta, adicione-o manualmente.
Selecione Atualizar.
Você deverá ver alguns processos aparecerem na janela Processos Disponíveis.
Se você não vir 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 de saída 3702 no servidor.
Verifique Mostrar processos de todos os usuários.
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 correto de w3wp.exe. A partir do .NET Core 3, esse processo é o padrão.
Caso contrário, selecione o processo de dotnet.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.
Selecione Anexar.
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.
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, confira Solucionar problemas de depuração remota.
Solução de problemas de implantação do IIS
- Se você não conseguir 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 de ASP.NET usada em seu aplicativo é a mesma que a versão instalada no servidor. Para o seu aplicativo, você pode visualizar e definir a versão na página de Propriedades . Para definir o aplicativo como uma versão diferente, essa versão deve ser instalada.
- Se o aplicativo tentou abrir, mas você viu um aviso de certificado, escolha confiar no site. Se você já fechou o aviso, poderá 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 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 do depurador remoto. No entanto, se você estiver solucionando problemas de implantação e o aplicativo estiver hospedado atrás de um firewall, talvez seja necessário verificar se as portas corretas estão abertas.
Em uma VM do Azure, você deve abrir portas por meio de:
- O grupo de segurança de rede .
- O firewall no Windows Server
Portas requeridas:
- 80 – Necessário para o IIS
- 4026: necessário para depuração remota do Visual Studio 2022 (veja Atribuições de porta do depurador remoto para obter mais informações).
- 4024: necessário para depuração remota do Visual Studio 2019 (veja Atribuições de porta do depurador remoto para obter mais informações).
- UDP 3702: (Opcional) a porta de descoberta permite que você use o botão Localizar ao anexar ao depurador remoto no Visual Studio. Esta deve ser uma porta externa (regra de saída).
Além disso, essas portas já devem ser abertas pela instalação do ASP.NET Core:
- 8172 – (Opcional) Necessário para o Web Deploy implantar o aplicativo a partir do Visual Studio