Depuração remota do ASP.NET Core em um computador IIS remoto no Visual Studio
Para depurar um aplicativo ASP.NET Core que foi implantado no IIS, instale e execute as ferramentas remotas no computador em que você implantou seu aplicativo, depois anexe ao aplicativo em execução do Visual Studio.
Este guia explica como definir e configurar um aplicativo ASP.NET Core do Visual Studio, implantá-lo no IIS e anexar o depurador remoto do Visual Studio. Para depurar remotamente o ASP.NET 4.8, confira Depuração Remota do ASP.NET em um computador IIS. Você também pode implantar e depurar no IIS usando o Azure. Para o Serviço de Aplicativo do Azure, confira Depuração remota do ASP.NET Core no Azure ou, para o Visual Studio Enterprise, use o Depurador de Instantâneos (.NET 4.6.1 exigido).
Pré-requisitos
É necessário usar o Visual Studio 2019 ou versões posteriores para seguir as etapas mostradas neste artigo.
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
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?
Este artigo inclui etapas sobre como definir uma configuração básica do IIS no servidor Windows e implantar o aplicativo pelo Visual Studio. Essas etapas são incluídas para garantir que o servidor tenha 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 em execução corretamente no IIS para que possa depurar, siga todas as etapas neste artigo.
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 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.
Abra o arquivo HomeController.cs na pasta Controladores e defina um ponto de interrupção na instrução
return View;
do métodoPrivacy
.Em modelos mais antigos, abra o arquivo Privacy.cshtml.cs e defina um ponto de interrupção no método
OnGet
.
Instalar e configurar o IIS no Windows Server
Essas etapas mostram apenas uma configuração básica do IIS. Para obter informações mais detalhadas ou instalar em um computador Windows Desktop, consulte Como publicar no IIS ou IIS 8.0 usando ASP.NET 3.5 e ASP.NET 4.5.
Para sistemas operacionais do Windows Server, use o assistente Adicionar Funções e Recursos pelo link Gerenciar ou do link Painel no Gerenciador do Servidor. Na etapa Funções de Servidor, marque a caixa de Servidor Web (IIS).
(Windows Server 2022) Na caixa de diálogo exibida, selecione Adicionar Recursos para adicionar o Console de Gerenciamento de IIS.
Na etapa Serviços de função, selecione os serviços de função do IIS desejados ou aceite os serviços de função padrão fornecidos. Se quiser habilitar a implantação usando configurações de publicação e Implantação da Web, verifique se os seguintes recursos estão selecionados:
- Scripts e Ferramentas de Gerenciamento do IIS
- Management Service
- Console de gerenciamento do IIS
Continue para a etapa Confirmação para instalar os serviços e a função de servidor Web. Uma reinicialização do servidor/IIS não é necessária após a instalação da função do Servidor Web (IIS).
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
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.
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 casos, essa é uma forma 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
Se quiser configurar a Implantação da Web manualmente ao invés de importar as configurações de publicação, é preciso verificar se uma pasta do aplicativo no servidor está configurada com os valores e permissões corretos (confira Configurar site do ASP.NET).
Configurar o site do ASP.NET Core
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.
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.
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.
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).
No Windows Server, baixe a Implantação da Web 4.0.
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.)
(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
Feche e reabra o Console de gerenciamento do IIS para mostrar 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 não aparecer o menu Implantar, confira a seção anterior para verificar se a Implantação da Web está em execução.
Na caixa de diálogo Configurar publicação da Implantação da Web, examine as configurações.
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 testehttp://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.
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
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.
Selecione a opção para importar um perfil.
Na caixa de diálogo Publicar, clique em Importar perfil.
Navegue até a localização 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 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.
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.
- Escolha Mais Opções>Editar para editar o perfil e escolha Configurações.
- Clique em Salvar e publique o aplicativo novamente.
- 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.
- Clique em Salvar e publique o aplicativo novamente.
- 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
Abra o Windows Explorer e crie uma nova pasta, C:\Publicar, a ser usada para implantar o projeto ASP.NET Core.
Se ele ainda não estiver aberto, abra o Gerenciador do IIS (Serviços de Informações da Internet). (No painel esquerdo do Gerenciador do Servidor, selecione IIS. Clique com o botão direito do mouse e selecione Gerenciador do IIS (Serviços de Informações da Internet)).
Em Conexões no painel esquerdo, acesse Sites.
Selecione o Site Padrão, escolha Configurações Básicas e defina o Caminho físico como C:\Publicar.
Clique com o botão direito do mouse no nó Site Padrão e selecione Adicionar Aplicativo.
Defina o campo Alias como MyASPApp, aceite o pool de aplicativos padrão (DefaultAppPool) e defina o caminho físico como C:\Publish.
Em Conexões, selecione Pools de Aplicativos. Abra DefaultAppPool e defina o campo Pool de aplicativos como Sem Código Gerenciado.
Clique com o botão direito do mouse no novo site no Gerenciador do IIS, escolha Editar Permissões e confirme se iUSR, IIS_IUSRS ou o usuário configurado para acesso ao aplicativo Web é um usuário autorizado com direitos de Leitura e Execução.
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.
Publicar e implantar o aplicativo por meio da publicação em uma pasta local do Visual Studio
Também é possível publicar e implantar o aplicativo usando o sistema de arquivos ou outras ferramentas.
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.
Na caixa de diálogo Publicar, selecione Pasta, clique em Procurar e crie uma pasta, C:\Publish.
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.
Observação
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 de Depuração 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:\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.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
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.
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.
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.
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.
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
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.
Para obter informações sobre como executar o depurador remoto como um serviço, consulte Executar o depurador remoto como um serviço.
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).
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, 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).
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.
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, 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).
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.
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.
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 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.
Selecionar 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, 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, talvez você precise verificar se as portas estão abertas.
Observação
Em uma VM do Azure, abra as portas pelo Grupo de segurança de rede.
Portas obrigatórias:
- 80: obrigatório para IIS (HTTP).
- 4026: necessário para depuração remota do Visual Studio 2022 (consulte Atribuições de porta do depurador remoto para obter mais informações).
- 4024: necessário para depuração remota do Visual Studio 2019 (consulte 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.
Além disso, essas portas já devem ser abertas pela instalação do ASP.NET:
- 8172: (Opcional) a Implantação da Web precisa dessa porta para implantar o aplicativo pelo Visual Studio
Abrir uma porta
Para abrir uma porta no Windows Server, abra o menu Iniciar e procure Windows Defender Firewall ou Firewall do Windows com Segurança Avançada.
Para Firewall do Windows Defender, escolha Configurações avançadas.
Em seguida, escolha Regras de Entrada > Nova Regra > Porta e clique em Avançar. (Para UDP 3702, escolha Regras de Saída em vez disso.)
Em Portas locais específicas, insira o número da porta e clique em Avançar.
Selecione Permitir a Conexão e em Avançar.
Selecione um ou mais tipos de rede a serem habilitados para a porta e clique em Avançar.
O tipo selecionado precisa incluir a rede à qual o computador remoto está conectado.
Adicione o nome (por exemplo, IIS, Implantação da Web ou msvsmon) para a Regra de Entrada e clique em Concluir.
Você deve ver sua nova regra na lista Regras de Entrada ou Regras de Saída.
Para saber mais sobre como configurar o Firewall do Windows, confira Configurar o Firewall do Windows para Depuração Remota.
Crie regras adicionais para as outras portas necessárias.