Depurar aplicativos ASP.NET ou ASP.NET Core no Visual Studio
Você pode depurar aplicativos ASP.NET e ASP.NET Core no Visual Studio. O processo difere entre ASP.NET e ASP.NET Core e se você o executa no IIS Express ou em um servidor IIS local.
Nota
As etapas e configurações a seguir se aplicam somente à depuração de aplicativos em um servidor local. A depuração de aplicativos em um servidor IIS remoto usa Anexar ao Processo e ignora essas configurações. Para obter mais informações e instruções sobre depuração remota de ASP.NET e ASP.NET Core, consulte Depuração remota do ASP.NET Core em um computador IIS remotoe Depuração remota do Serviço de Aplicativo do Azure.
Os servidores Kestrel e IIS Express internos estão incluídos no Visual Studio. Kestrel é o servidor de depuração padrão para projetos do ASP.NET Core e é pré-configurado. O IIS Express é o servidor de depuração padrão para ASP.NET.
O servidor IIS Express interno está incluído no Visual Studio. O IIS Express é o servidor de depuração padrão para projetos ASP.NET e ASP.NET Core e é pré-configurado. É a maneira mais fácil de depurar e ideal para depuração e teste iniciais.
Para ASP.NET Core, você também pode depurar no servidor Web Kestrel.
Pré-requisitos para o servidor IIS local
Você também pode depurar um aplicativo ASP.NET ou ASP.NET Core em um servidor IIS local (versão 8.0 ou superior) configurado para executar o aplicativo. Para depurar no IIS local, você deve atender aos seguintes requisitos:
Se ele não estiver instalado, instale o ASP.NET e a carga de trabalho de desenvolvimento na Web. (Execute novamente o Instalador do Visual Studio, selecione Modificare adicione esta carga de trabalho.)
Execute o Visual Studio como administrador.
Instale e configure corretamente o IIS com as versões apropriadas do ASP.NET e/ou ASP.NET Core. Para obter mais informações sobre como usar o IIS com o ASP.NET Core, consulte Host ASP.NET Core no Windows com o IIS. Para ASP.NET, consulte Instalar o IIS e ASP.NET Modules.
Verifique se o aplicativo é executado no IIS e é aberto no navegador.
Depurar aplicativos do ASP.NET Core
Um perfil padrão chamado https ou um com base no nome do projeto pode estar presente, configurado para o servidor Web Kestrel. Caso esteja depurando no IIS local, garanta atender aos pré-requisitos para a depuração do IIS local.
Selecione o projeto ASP.NET Core no Visual Studio Solution Explorer e clique no ícone Propriedades ou pressione Alt+Enter, ou clique com o botão direito do mouse e escolha Propriedades.
Selecione a guia Depurar e clique no link para abrir a interface do usuário Abrir perfis de inicialização de depuração.
A interface do usuário apresentada corresponde às configurações no arquivo de
launchSettings.json
do projeto. Para obter mais informações sobre esse arquivo, consulte a seção Desenvolvimento elaunchSettings.json
no Usar vários ambientes no ASP.NET Core.Selecione o perfil a ser configurado para depuração.
- Para o kestrel, selecione o perfil https ou o perfil com o nome do projeto.
- Para IIS Express, selecione IIS Express na lista suspensa.
- Para o IIS local, selecione Novo e crie um novo perfil do IIS.
Verifique se Iniciar navegador está selecionado.
Certifique-se de que URL, URL do aplicativoe URL SSL do aplicativo estejam corretos.
URL especifica o local da URL do host para .NET Core ou .NET 5+. Para um perfil com o nome do projeto (ou seja, a propriedade commandName no
launchSettings.json
é Project), o servidor Kestrel escuta a porta especificada. Para um perfil do IIS, esse normalmente é o mesmo valor que a URL do aplicativo . Para obter mais informações, consulte a seção de perfil de inicialização do IIS em Configurar o projeto.A URL do aplicativo e a URL SSL do aplicativo especificam as URLs do aplicativo.
- Para um perfil https, a propriedade URL do Aplicativo normalmente é
https://localhost:7241;http://localhost:5175
. - Para um perfil com o nome do projeto, essas propriedades normalmente são
http://localhost:5000
ehttps://localhost:5001
. - Para o IIS Express, a URL do SSL do aplicativo normalmente é
https://localhost:44334
.
- Para um perfil https, a propriedade URL do Aplicativo normalmente é
Em Variáveis de ambiente, verifique se ASPNETCORE_ENVIRONMENT está presente com um valor de Desenvolvimento. Caso contrário, adicione a variável.
configurações do depurador do
Para obter mais informações sobre variáveis de ambiente, consulte Environments.
Para depurar o aplicativo, em seu projeto, defina pontos de interrupção em algum código. Na barra de ferramentas do Visual Studio, verifique se a configuração está definida como Depurar.
Para iniciar a depuração, selecione o nome do perfil na barra de ferramentas, como as https, IIS Express ou <nome de perfil do IIS> na barra de ferramentas, selecione Iniciar Depuração no menuDepurar ou pressione F5. O depurador faz uma pausa nos pontos de interrupção. Se o depurador não conseguir atingir os pontos de interrupção, confira Solucionar problemas de depuração.
Depurar aplicativos do ASP.NET Core
O IIS Express é o padrão e é pré-configurado. Se você estiver depurando no IIS Local, atenda aos requisitos de depuração do IIS local.
Selecione o projeto ASP.NET Core no Visual Studio Solution Explorer e clique no ícone Propriedades ou pressione Alt+Enter, ou clique com o botão direito do mouse e escolha Propriedades.
Selecione a guia Depurar.
No painel Propriedades, ao lado de Perfil,
- Para IIS Express, selecione IIS Express na lista suspensa.
- Para o IIS local, selecione o nome do aplicativo na lista suspensa ou selecione Novo, crie um novo nome de perfil e selecione OK.
Ao lado de Iniciar, selecione IIS Express ou IIS na lista suspensa.
Certifique-se de que a opção Lançar navegador esteja selecionada.
Em Variáveis de ambiente, verifique se ASPNETCORE_ENVIRONMENT está presente com um valor de Desenvolvimento. Caso contrário, selecione Adicionar e adicione-o.
Configurações do depurador do ASP.NET Core
Use Arquivo>Salvar Itens Selecionados ou Ctrl+S para salvar quaisquer alterações.
Para depurar o aplicativo, em seu projeto, defina pontos de interrupção em algum código. Na barra de ferramentas do Visual Studio, verifique se a configuração está definida como Debug, e IIS Express, ou o novo nome de perfil do IIS, aparece no campo emulador.
Para iniciar a depuração, selecione IIS Express ou <nome de perfil do IIS> na barra de ferramentas, selecione Iniciar Depuração no menu Depuração ou pressione F5. O depurador faz uma pausa nos pontos de interrupção. Se o depurador não conseguir atingir os pontos de interrupção, confira Solucionar problemas de depuração.
Depurar aplicativos ASP.NET
O IIS Express é o padrão e é pré-configurado. Se você estiver depurando no IIS Local, atenda aos requisitos de depuração do IIS local.
Selecione o projeto ASP.NET no Visual Studio Gerenciador de Soluções e clique no ícone Propriedades, pressione Alt+Enter ou clique com o botão direito e escolha Propriedades.
Selecione a guia Web .
Se você não vir a guia Web, confira Depurar aplicativos ASP.NET Core. A guia Web aparece apenas para ASP.NET Framework.
No painel Propriedades, em Servidores,
- Para o Kestrel, selecione https, na lista suspensa.
- Para IIS Express, selecione IIS Express na lista suspensa.
- Para o IIS local,
- Selecione IIS Local na lista suspensa.
- Ao lado do campo de URL do Projeto, selecione Criar Diretório Virtual, se ainda não tiver configurado o aplicativo no IIS.
Em Depuradores, selecione ASP.NET.
Escolha Arquivo>Salvar Itens Selecionados (ou pressione Ctrl+S) para salvar as alterações.
Para depurar o aplicativo, em seu projeto, defina pontos de interrupção em algum código. Na barra de ferramentas do Visual Studio, verifique se a configuração está definida como Depuração e se o navegador desejado aparece em IIS Express (<Nome do navegador>) ou IIS Local (<Nome do navegador>) no campo do emulador.
Para iniciar a depuração, selecione IIS Express (<Browser name>) ou Local IIS (<Browser name>) na barra de ferramentas, selecione Iniciar Depuração do menu Depurar ou pressione F5. O depurador faz uma pausa nos pontos de interrupção. Se o depurador não conseguir atingir os pontos de interrupção, confira Solucionar problemas de depuração.
Solucionar problemas de depuração
Se a depuração do IIS local não puder progredir para o ponto de interrupção, execute estas etapas para solucionar problemas.
Inicie o aplicativo Web do IIS e verifique se ele é executado corretamente. Deixe o aplicativo Web em execução.
No Visual Studio, selecione Depurar > Anexar ao Processo ou pressione Ctrl+Alt+Pe conecte-se ao processo ASP.NET ou ASP.NET Core (normalmente w3wp.exe ou dotnet.exe). Para obter mais informações, confira Anexar ao Processo e Como localizar o nome do processo de ASP.NET.
Se você puder se conectar e atingir o ponto de interrupção usando Anexar ao Processo, mas não usando Depurar>Iniciar Depuração ou F5, uma configuração provavelmente estará incorreta nas propriedades do projeto. Se você usar um arquivo HOSTS, verifique se ele também está configurado corretamente.
Para habilitar a depuração no arquivo web.config
Projetos ASP.NET têm arquivos web.config
como padrão, que contêm informações de configuração do aplicativo e de inicialização, incluindo configurações de depuração. Os arquivos web.config
devem ser configurados corretamente para depuração. As configurações de Propriedades nas seções anteriores atualizam os arquivos web.config
, mas você também pode configurá-los manualmente.
Nota
ASP.NET Projetos principais inicialmente não têm arquivos web.config
, mas usam arquivos appsettings.json
e launchSettings.json
para informações de configuração e inicialização do aplicativo. A implantação do aplicativo cria um ou mais arquivos web.config
no projeto, mas eles geralmente não contêm informações de depuração.
Dica
Seu processo de implantação pode atualizar as configurações de web.config
, portanto, antes de tentar depurar, verifique se web.config
está configurado para depuração.
Para configurar manualmente um arquivo web.config
para depuração:
No Visual Studio, abra o arquivo
web.config
do projeto ASP.NET.Web.config
é um arquivo XML, portanto, contém seções aninhadas marcadas por marcas. Localize a seçãoconfiguration/system.web/compilation
. (Se o elementocompilation
não existir, crie-o.)Verifique se o atributo
debug
no elementocompilation
está definido comotrue
. (Se o elementocompilation
não contiver um atributodebug
, adicione-o e defina-o comotrue
.)Se você estiver usando o IIS local em vez do servidor IIS Express padrão, verifique se o valor do atributo
targetFramework
no elementocompilation
corresponde à estrutura no servidor IIS.O elemento
compilation
do arquivoweb.config
deve ser semelhante ao seguinte exemplo:Nota
Este exemplo é um arquivo de
web.config
parcial. Geralmente, há seções XML adicionais nos elementosconfiguration
esystem.web
, e o elementocompilation
também pode conter outros atributos e elementos.<configuration> ... <system.web> <compilation debug="true" targetFramework="4.6.1" ... > ... </compilation> </system.web> </configuration>
ASP.NET detecta automaticamente as alterações nos arquivos web.config
e aplica as novas configurações. Você não precisa reiniciar o computador ou o servidor IIS para que as alterações entrem em vigor.
Um site pode conter vários diretórios virtuais e subdiretórios, com arquivos web.config
em cada um deles. ASP.NET aplicativos herdam as configurações de arquivos web.config
em níveis mais altos no caminho da URL. As configurações do arquivo hierárquico web.config
se aplicam a todos os aplicativos ASP.NET situados abaixo deste na hierarquia. Definir uma configuração diferente em um arquivo de web.config
inferior na hierarquia substitui as configurações no arquivo superior.
Por exemplo, se você especificar debug="true"
no www.microsoft.com/aaa/web.config, qualquer aplicativo na pasta aaa
ou em qualquer subpasta de aaa
herdará essa configuração, exceto se um desses aplicativos substituir a configuração com seu próprio arquivo web.config
.
Importante
O modo de depuração reduz consideravelmente o desempenho do seu aplicativo. Ao implantar um aplicativo de produção ou realizar medidas de desempenho, defina debug="false"
no web.config
e especifique um build de versão.