Não é possível iniciar o debugging no servidor web. Não foi possível iniciar a depuração ASP.NET VS 2010, II7, Win 7 x64

92

Estou executando o Visual Studio 2010 (como Admin), IIS 7 no Windows 7 x64. Consigo executar o site ASP.NET no IIS 7 sem depurar muito bem, mas quando pressiono F5 para depurar, obtenho:

Não é possível iniciar o debugging no servidor web. Não foi possível iniciar a depuração do ASP.NET. Mais informações podem estar disponíveis iniciando o projeto sem depuração.

Infelizmente, o link de ajuda não está me ajudando muito e me leva a uma grande árvore de coisas.

Eu verifiquei o seguinte:

  • Requisitos de segurança - não me lembro de ter feito nada especial antes. O processo de trabalho no IIS7 é w3wp.exe. Diz que se estiver rodando como ASPNET ou NETWORK SERVICE, devo ter privilégios de administrador para depurá-lo. Como faço para saber se preciso mudar algo aqui?

  • Páginas de propriedades do site da Web> Opções de inicialização> Depuradores> ASP.NET está marcada. Usar servidor personalizado é definido para a URL do site (que funciona bem sem depuração).

  • A depuração está habilitada em web.config.

  • O aplicativo está usando ASP.NET 3.5 (quero passar para 4.0 eventualmente, mas tenho que lidar com algumas migrações).

  • Pool de aplicativos: Classing .NET AppPool (também experimentou DefaultAppPool).

Alguma ideia onde posso verificar a seguir?

Certamente não deveria ser tão difícil instalar IIS, VS, criar um site e começar a testá-lo?

Desde já, obrigado.

Dan C
fonte
1
Só para ficar claro, quando você iniciou o Visual Studio, você clicou com o botão direito nele e escolheu a opção Executar como Administrador?
Aaron Carlson
Você já deu uma olhada neste link? msdn.microsoft.com/en-us/library/dwesw3ee.aspx
Aaron Carlson
@Aaron, Sim, na verdade tenho o VS configurado para sempre ser executado como Administrador.
Dan C de
@Aaron, eu examinei explicitamente aquela página e seus filhos antes de postar aqui e nada se destacou que eu precisasse fazer. Meu sistema atende aos requisitos e a depuração está ativada para o site. Eu não tenho o Windows Server 2003, então nenhuma configuração do IIS foi feita lá. Não alterei as configurações de segurança em nada, pois não sei se preciso.
Dan C de
Não tenho certeza se isso ajuda, mas tentei criar um novo site de teste do ASP.NET 3.5 no VS 2010, adicionei-o ao IIS 7 sem nenhuma configuração especial e consegui depurá-lo bem. Algo com meu aplicativo principal e como ele está configurado no VS, IIS ou talvez até mesmo no sistema de arquivos. Só não tenho certeza por onde começar a procurar.
Dan C

Respostas:

239

Tente acessar o IIS e verifique se o App Pool que você está usando foi iniciado. Muitas vezes, você produzirá um erro que desliga o pool de aplicativos. Você só precisa clicar com o botão direito e Iniciar e você estará pronto para ir.

Trey Copeland
fonte
Obrigado, gostaria de ter encontrado este post sexta-feira! a piscina parou e encontrei o primeiro erro
Christopher Cabezudo Rodriguez
No meu caso, tive que permitir ASP.NET v4.0.30319 nas Restrições ISAPI e CGI
Adi
15
+1 Nome de usuário / senha inválidos usados ​​para autenticação do pool de aplicativos.
P.Brian.Mackey
3
No meu caso, o pool já estava iniciado, mas depois de Parar e Iniciar novamente, funcionou.
Serj Sagan de
1
Obrigado. Esta solução funcionou perfeitamente para mim. Tive que reiniciar o pool de aplicativos adicional.
Domingo
44

Acontece que o culpado foi o módulo IIS Url Rewrite . Eu tinha definido uma regra que redirecionava chamadas para Default.aspx (que foi definido como a página inicial do site ) para a raiz do site para que eu pudesse ter um URL inicial canônico. No entanto, aparentemente o VS teve um problema com isso e ficou confuso. Esse problema não acontecia quando eu estava usando Helicon ISAPI_Rewrite, então nem me ocorreu verificar.

Acabei criando um novo site do zero e transferindo projetos / arquivos pouco a pouco para a minha solução e reconstruindo meu web.config até descobrir isso! Bem, pelo menos agora eu tenho um site um pouco mais limpo usando .NET 4.0 (até agora, espero não bater em nenhuma parede) - mas que chatice!

Dan C
fonte
6
Sim, mas você deve ter certeza de que o pool de aplicativos está em execução, também o seu portal.
Junior Mayhé
Nessa observação, meu problema estava no web.config em: <applicationInitialization remapManagedRequestsTo = "/ App / splash.html" doAppInitAfterRestart = "true" lockAttributes = ""> <add initializationPage = "App / index.html" hostName = " CSI "lockItem =" true "/> </applicationInitialization>. Eu estava usando isso para mostrar uma tela inicial enquanto o aplicativo estava sendo inicializado.
Nick
6
Isso foi tudo para mim. A regra de reescrita para enviar todo o tráfego HTTP para HTTPS estava causando esse erro feio. Não consegui encontrar nenhuma maneira de manter a regra para depuração.
Kat de
Só queria adicionar que, para mim, era semelhante, mas a reescrita de SSL que pretendíamos significar que nosso caminho de início era localhost / appname, mas como o redirecionamento o enviou para localhost / appname , causou um erro no VS, pois não pode lidar com o redirecionamento. . Demorou mais uma hora para encontrar este problema, pois ao testar no IIS localmente tudo funcionou perfeitamente! ..
Liam Wheldon
O mesmo problema aqui (módulo IIS Url Rewrite). Eu resolvo movendo minhas regras para o meu Web.Release.config. Consulte weblogs.asp.net/srkirkland/… e stackoverflow.com/questions/11032868/… .
Swisher Sweet
42

O Visual Studio, ao iniciar, tentará (por algum motivo) acessar o URL:

/debugattach.aspx

Se você tiver uma regra de reescrita que redireciona (ou de outra forma captura), por exemplo, .aspxarquivos, em outro lugar, você receberá este erro. A solução é adicionar esta seção para o início do seu web.config's <system.webServer>/<rewrite>/<rules>seção:

<rule name="Ignore Default.aspx" enabled="true" stopProcessing="true">
    <match url="^debugattach\.aspx" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="None" />
</rule>

Isso garantirá a captura dessa solicitação específica, não fará nada e, o mais importante, interromperá a execução para que nenhuma de suas outras regras seja executada. Esta é uma solução robusta, então fique à vontade para mantê-la em seu arquivo de configuração para produção.

Kirk Woll
fonte
1
isso infelizmente não funcionou para mim pessoalmente, no entanto, posso verificar se é definitivamente algum tipo de problema de reescrita, pois comentei a seção de reescrita do web.config e posso executar sem problemas.
Matt
Talvez você queira tentar a solução aqui: stackoverflow.com/a/30813200/375303 . Funciona como um encanto para mim.
jerhewet
O Visual Studio registrará os erros relacionados a DebugAttach.aspx aqui:% UserProfile% \ AppData \ Local \ Temp \ Visual Studio Web Debugger.log (se você não tiver esse arquivo - ou se for um arquivo antigo - então o seu problema provavelmente não está relacionado a DebugAttach.aspx.)
Brandon S
No meu caso, a causa raiz está correta, mas não a resolução. Para mim, funcionou: <location path="debugattach.aspx"> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"> <clear /> </httpErrors> </system.webServer> </location>
Tasos K.
para mim, o problema era por causa de "/debugattach.aspx", mas a solução foi alterar o erroMode para "DetailedLocalOnly" também.
Nashe
30

Para o benefício de outros, no meu caso, configurei o pool de aplicativos para usar minhas credenciais do Windows para acessar um compartilhamento de recursos de rede. Desde a última depuração da solução, eu havia redefinido minha senha do Windows. Senha alterada armazenada no app pool e bada bing.

Breeno
fonte
Obrigado por isso, eu nem estava usando um compartilhamento de rede, mas funcionou muito bem.
Marissa
21

Se a identidade do ApplicationPool for definida como conta personalizada e a senha do computador for alterada, você deve atualizar sua senha

Olá Mundo
fonte
Sim, tive um problema, tentei algumas respostas daqui sem resultado, sua resposta é o que realmente me ajudou!
Vadzim Savenok
19

No meu cenário, foram feitas alterações na seção httpErrors em web.config, definindo-a assim:

<httpErrors mode="Custom"> 

causou o problema "Não foi possível iniciar a depuração no servidor web". Configurá-lo de volta para o valor anterior de "DetailedLocalOnly" corrigiu o problema. Indo um pouco mais fundo, descobri que, na verdade, era apenas a configuração do erro 401 que estava causando isso:

<httpErrors mode="Custom"> 
    <error statusCode="401" prefixLanguageFilePath="" path="/masterpages/500.html" responseMode="ExecuteURL" />
<httpErrors mode="Custom"> 

Comentar a linha de erro 401 também corrigiu o problema, decidi fazer isso, pois posso manter o tratamento de erros personalizado e começar a depuração.

Ainda não tenho ideia do por que isso está acontecendo.

Fjarskiptagervitungl
fonte
A mesma causa para mim, foi testemunhar 401 respostas em meus logs ao tentar iniciar a depuração, e desativar meu tratamento de erro padrão resolveu o problema "vs não pode depurar o site" para mim. Eu não entendo por que 401 ocorre mesmo na minha página de login quando e somente ao iniciar a depuração com vs, enquanto apenas acesso anônimo e autenticação de formulário web. estão ativados.
Frédéric
Esta foi a solução para mim também, só que tenho um caminho de erro padrão definido em vez de definir explicitamente um para 401.
tuespetre
Isso é o que funcionou para mim (eu apenas removi temporariamente toda a seção httperrors). As coisas que tentei anteriormente que não funcionaram foram reiniciar o pool de aplicativos e remover as regras de regravação de URL.
Nicholas Westby
Isso é o que funcionou para mim. então eu mudei meu erro personalizado como @Pablo Romeo escreveu nesta resposta: stackoverflow.com/a/13905859/4489664
Bondaryuk Vladimir
2
Alterar o erroMode para "DetailedLocalOnly" também resolveu para mim. O depurador estava tentando abrir "/DebugAttach.aspx", o que o fez ir para a página de erro personalizada, que não pôde ser executada no momento determinado.
Nashe
13

Por favor, verifique o pool de aplicativos. se for interrompido. reinicie-o.

user3206598
fonte
4
Essa é a mesma resposta número 1 que foi proposta um mês antes.
mac10688
OK, é isso, mas por que para sempre?
Fernando Torres
Meu pool de aplicativos estava sendo executado em um usuário que teve a senha alterada.
Anderson
11

Tive o mesmo problema ao tentar depurar um módulo DNN (Dot Net Nuke). Acontece que você precisa ter a compilação debug = "true":

<compilation debug="true" strict="false" targetFramework="4.0"> 

em seu web.config. Por padrão, é falso no DNN. Fonte original aqui: http://www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts

Zar Shardan
fonte
Obrigado!! Eu estive arrancando meu cabelo o dia todo e a correção foi tão simples. Se ao menos o VS pudesse fornecer uma mensagem de erro significativa!
colincameron
8

Eu tenho exatamente o mesmo problema após implementar o módulo de reescrita.

Se eu remover as entradas de regravação do meu arquivo web.config, a depuração funcionará perfeitamente.

Para contornar isso, gostaria apenas de comentar as tags de reescrita durante a depuração, assim ...

<rewrite>
    <rules>
        <rule name="LowerCaseRule_1" stopProcessing="true">
            <match url="[A-Z]" ignoreCase="false" />
            <action type="Redirect" url="{ToLower:{URL}}" />
        </rule>
        <rule name="RedirectDefault.aspx_1" stopProcessing="true">
            <match url="(.*)default.aspx" />
            <action type="Redirect" url="{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

Em seguida, removo os comentários após a depuração.

Deve ser um bug no Visual Studio 2010.

geofili
fonte
1
É verdade que é uma solução alternativa, mas é ruim porque é realmente fácil esquecer de remover comentários como este antes de enviar ou publicar o site.
Jon Adams
1
Você pode mover essas linhas no arquivo de configuração web.config.release, de modo que, quando publicar, estará apenas na versão publicada. Isso é o que eu fiz.
Shalke
Talvez apenas excluir /debugattach.aspx faça isso. Veja o comentário de Peter Monks
Daniel Fisher lennybacon
6

Recebi o mesmo erro porque o pool de aplicativos foi interrompido no IIS. Depois de iniciar o App Pool, o problema foi resolvido.

Ovini
fonte
Resolveu meu problema também! Eu descobri que meu DefaultAppPool parou. Obrigado por compartilhar isso. Não consigo entender por que parou.
Jobert Enamno
5

Aqui está o que fiz para limpar o erro que você observou. Localize a pasta da web para o aplicativo dentro do sistema de arquivos, vá para Propriedades => Segurança clique no botão Avançado e clique na guia Proprietário , clique no botão Editar e altere o proprietário (com as permissões corretas) da pasta e marque " Repalce proprietário em subcontêineres e objetos ". Clique em " Aplicar " e então eu estava no negócio (capaz de depurar).

Espero que isso funcione para outra pessoa.

Moe Howard
fonte
2
Alterar o proprietário para quem?
dumbledad
5

Acabei de consertar isso para minha única solução que era ter isso. Dois dos projetos da solução foram definidos como sites no IIS. Entrei e habilitei a representação ASP.Net sob autenticação para ambos os projetos ... e VIOLA! FINALMENTE, chega desse erro irritante!

Todd Vance
fonte
3

Eu estava recebendo a mesma mensagem de erro no VS 2012, mas não estava executando como Administrador. Quando executei o aplicativo como administrador, recebi uma mensagem diferente e um pouco mais útil (que consegui descobrir). HTH

Tom Gerken
fonte
3

Se o App Pool tiver problemas para reiniciar ou simplesmente não quiser reiniciar, verifique se o Windows fez uma atualização recente no ASP.NET v4.0 ou outro App Pool. Foi o que aconteceu no meu caso. Simplesmente reiniciei meu computador, reiniciei o ASP.NET v4.0 App Pool e tudo estava funcionando novamente!

Chewbacca17
fonte
2

Dan,

Além das sugestões de Aaron, tente o seguinte

  • Verifique se a autenticação integrada do Windows está selecionada no seu site IIS
  • Você pode depurar usando Cassini em vez de IIS?
Keefu
fonte
Segui as etapas aqui para ativar a autenticação integrada do Windows: msdn.microsoft.com/en-us/library/x8a5axew.aspx, no entanto, ainda tenho o mesmo erro (o gerenciador iis mostra um aviso de que não posso usar o desafio e a autenticação baseada em login - meu site usa autenticação de formulários). Posso depurar o site usando o servidor web integrado ao VS 2010, mas faltam recursos.
Dan C
Você tentou criar um novo site no IIS e implantar seu código nele? Por curiosidade, quais recursos você perderia se depurasse no Cassini? Pelo que sei, a Cassini oferece suporte à autenticação de formulários.
Keefu
O que você quer dizer com "criar um novo site no IIS"? Este é um novo computador com um novo sistema operacional, VS2010, instalações IIS. Criei um novo aplicativo no IIS e o apontei para a pasta real do site (recuperada de um backup). A regravação de URL não parece estar funcionando totalmente no Cassini. Também usamos um módulo personalizado para alternar automaticamente entre http e https ( codeproject.com/KB/web-security/WebPageSecurity_v2.aspx ).
Dan C
A Cassini não oferece suporte ao Módulo de Reescrita de URL 2
citronas
2

Tive o mesmo problema com o Windows 10 quando ativado todos os recursos do IIS do Windows. Mudei para o Windows 8.1 e tive o problema novamente. A raiz estava no nome do site " http: //MySite.local " (não relacionado à versão do sistema operacional).

E a solução é simples

  • Editar arquivo de hosts em %SystemRoot%\System32\drivers\etc\

  • Adicionar linha com ligação IP: 127.0.0.1 MySite.local

Artru
fonte
Esta foi uma jóia para mim, esqueci completamente de configurar meu arquivo host e estava me perguntando por que minhas apis não estavam funcionando quando mudei para iis local (para https). O VS funcionava com apenas um site rodando nele, mas assim que adicionei um segundo, não consegui mais depurar, isso resolveu.
CDerrig de
1

Este erro surgiu hoje devido a um defeito no código que estava sendo postado uma quantidade enorme de vezes, fazendo com que o IIS fosse inundado com solicitações. Isso basicamente travou o IIS e, portanto, quando tentei depurar, o tempo limite foi atingido ao tentar iniciar o depurador. Simplesmente reiniciei o IIS, o que levou alguns minutos, e resolveu o problema.

Eu realmente gostaria que esse erro fosse menos genérico, parece que existem várias maneiras diferentes de produzi-lo.

ammills01
fonte
1

Tive o mesmo problema no Visual Studio 2012 e 2013 no Windows 8.1. Para mim, a correção foi adicionar a autenticação do Windows ao IIS usando "Ativar ou desativar recursos do Windows"

Captura de tela de ativação ou desativação de recursos do Windows

Dumbledad
fonte
1

Certifique-se de que o pool de aplicativos do seu site use a versão correta da estrutura . Recebi o erro "Não foi possível iniciar a depuração" em um site ASP.Net 2005. Ele estava usando incorretamente o DefaultAppPool no Windows 7 (que eu acredito que estava usando .Net Framework 4). Eu criei um novo App Pool baseado em .Net Framework 2 e o atribuí ao site do problema. Depois disso, a depuração funcionou bem.

DeveloperDan
fonte
1

Verifique se o seu site no IIS não está parado.

Eu consertei e coloquei meu site para funcionar. : D

AFetter
fonte
1

Eu tive esse problema e acabei percebendo que o ASP.net não está registrado corretamente no IIS. Isso pode acontecer quando o servidor IIS é instalado antes do Visual Studio. Para corrigir este problema, use o comando aspnet_regiis -i Mais informações podem ser encontradas no link

Karpanai
fonte
1

teve o mesmo problema. Se você tiver um certificado SSL instalado no IIS e se estiver tentando depurá-lo no Visual Studio, será necessário definir seu aplicativo no IIS para ignorar o certificado.

akd
fonte
1

Eu tive o mesmo problema e descobri que era causado porque um caractere digitado por engano no meu Web.configapós a marca de fim. Meu Web.configolhou como este à direita no final: </section>h. O "h" era um caractere extra após a tag de fechamento.

Lavanya
fonte
0

remova o sting como este: targetFramework = "4.0" em web.config ou altere AppPool para a versão apropriada do framework.

Slava
fonte
0

Desinstalar a extensão IIS UrlScan resolveu o problema para mim.

Thomas
fonte
0

Eu tinha enfrentado o mesmo problema, mas estava no próprio servidor de desenvolvimento web do Visual Studios em vez do IIS. A solução é desmarcar a opção na guia Web em propriedades do projeto, Aplicar configurações do servidor a todos os usuários (armazenar no arquivo de projeto.). isso vai economizar o valioso tempo de alguém.

user3169006
fonte
0

Eu tive o mesmo problema. Todas as respostas acima não funcionaram para mim. A solução foi excluir a pasta bin e obj manualmente.

user1949096
fonte
0

Eu também encontrei esse problema, mas era mais parecido com o que o @Kirk explicou e com a reescrita de URL.

No meu caso, alguém verificou esta mudança no arquivo web.config para um projeto MVC:

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".aspx" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

Como as extensões de arquivo .aspx não eram permitidas no servidor da web, a /debugattach.aspxURL foi negada, impedindo a execução do depurador. Depois de remover essa configuração, ela funcionou novamente.

Peter Monks
fonte
0

Tive o mesmo problema quando criei o aplicativo no Visual Studio e, em seguida, nas propriedades criei o diretório virtual para usar com o IIS local. Se alguém tiver esse erro, é porque o VS cria um aplicativo no AppPool errado, ou seja, no AppPool que não atende às suas necessidades.
Se for esse o caso, vá para o Gerenciador do IIS, selecione Aplicativo, vá para as configurações básicas e altere o AppPool para o aplicativo e pronto.

Salgueiro
fonte
0

Recebi esse mesmo erro recentemente e, no meu caso, descobri que havia tipos MIME duplicados. Eu tinha adicionado recentemente dois que não apareciam na lista inicialmente. O IIS permitiu que eu os adicionasse e foi apenas quando decidi verificar os tipos MIME do site novamente como parte do meu processo de diagnóstico que também obtive um erro no IIS. Ele referenciou duplicatas em web.config. Assim que voltei ao arquivo web.config, percebi que uma nova seção chamada foi adicionada, incluindo os dois tipos MIME adicionados recentemente. Exclua essa seção e a vida é boa de novo! Esperando que isso possa ajudar outras pessoas que não conseguiram resolver o problema com nenhuma das outras sugestões.

Mike
fonte