Depuração / carregamento do Visual Studio muito lento


505

Estou no limite. O Visual Studio normalmente é muito lento para depurar ou simplesmente carregar ("iniciar sem depurar") meus sites do ASP.NET MVC. Nem sempre: no começo, os projetos carregam bem e rápido, mas depois que carregam devagar, sempre carregam devagar depois disso. Eu poderia estar esperando 1-2 minutos ou mais.

Minha configuração:

Atualmente, estou usando o Visual Studio 2012 Express , mas também tive o mesmo problema no Visual Studio 2010 Express. Minha solução é armazenada em uma unidade de rede; especificamente, são meus documentos redirecionados para uma unidade de rede, se isso importa. (Não deveria. Há momentos em que meu site carrega muito rápido nessa configuração.)

Normalmente, carrego no Internet Explorer 9, mas o mesmo problema ocorre no Firefox.

Isso pode acontecer em qualquer projeto do ASP.NET MVC em que trabalho e parece girar em torno de ter DisplayTemplates, o que todos os meus projetos do ASP.NET MVC fazem. E é tudo C # e Razor, se isso importava.

Sintomas:

O sistema carregará meus símbolos centenas de vezes. Basicamente, o seguinte, mas existem pelo menos 300 linhas desse tipo, cada uma com arquivos DLL sempre um pouco diferentes para os mesmos CSHTMLs:

'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.xighmhow.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.cv5hktkf.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.1o77hs8i.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.jja-77mw.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_location.cshtml.22013bb9.l_e9ev_s.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_location.cshtml.22013bb9.b4n59gom.dll', Symbols loaded.

Acima, eu tenho três DisplayTemplates: "Contato", "Localização" e "StatusCode". Parece que o IIS está carregando símbolos duas vezes para cada vez que o modelo de exibição é chamado. Portanto, se estou exibindo uma tabela de 100 entradas que chama todos esses três modelos de exibição, são 600 símbolos separados carregados.

Esta também não é uma operação rápida. Examinando os arquivos de log que o IIS gera, são necessários cerca de 200 ms para cada símbolo carregar. Assim, atrasos super longos.

O que eu tentei:

  • Versão de depuração ou lançamento, não importa.
  • Colocar o meu projeto em uma implementação completa do IIS em um servidor Web é executado muito rápido, sem problemas.
  • Cassini, IIS Express 7.5 e IIS Express 8.0 têm o problema.
  • Excluir todos os pontos de interrupção não faz nada.
  • Solução limpa ou excluir o .suo também não faz nada.
  • Se eu reparar o IIS Express, excluir a My Docs\IISExpresspasta ou reparar / reinstalar o Visual Studio → o problema PODE desaparecer, mas apenas por um tempo, antes que ele volte.

Qualquer conselho é apreciado.

Para responder a mais perguntas, sim, minha máquina definitivamente tem a potência. O fato irritante é que o mesmo projeto, com NADA alterado, pode carregar muito rapidamente às vezes, normalmente após eu reparar o IIS Express e excluir a My Docs\IISExpresspasta. Eventualmente, "algo" acontece e é necessário apenas 2 minutos para carregar novamente. O que eu estou trabalhando não é um projeto complicado. Não há bibliotecas ou dependências externas, e meu VS.NET não tem complementos.

É importante notar que esta máquina possui o Symantec Endpoint Protection, que tem um histórico de causar estragos. Mas desativá-lo completamente (é bom ser um administrador) não resolveu o problema.

Eu tenho uma teoria neste momento. Estou pensando que isso é tudo porque estou trabalhando em uma pasta redirecionada de um compartilhamento de rede. Enquanto o depurador passava por centenas de linhas de "símbolos carregados", parei para ver o que estava fazendo. Estava no meu código, carregando o DisplayTemplate que eu tinha. Entrar no modelo gera isso:

Step into: Stepping over non-user code 'System.Threading.WaitHandle.InternalWaitOne'
Step into: Stepping over non-user code 'System.Threading.WaitHandle.WaitOne'
Step into: Stepping over non-user code 'System.CodeDom.Compiler.Executor.ExecWaitWithCaptureUnimpersonated'
Step into: Stepping over non-user code 'System.CodeDom.Compiler.Executor.ExecWaitWithCapture'
Step into: Stepping over non-user code 'Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch'
Step into: Stepping over non-user code 'Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromFileBatch'
Step into: Stepping over non-user code 'System.Web.Compilation.AssemblyBuilder.Compile'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.bciuyg14.dll', Symbols loaded.
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.CompileWebFile'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVPathBuildResultInternal'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists'
Step into: Stepping over non-user code 'System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName'
Step into: Stepping over non-user code 'System.Web.Mvc.VirtualPathProviderViewEngine.FindPartialView'
Step into: Stepping over non-user code 'System.Web.Mvc.ViewEngineCollection.Find'
Step into: Stepping over non-user code 'System.Web.Mvc.ViewEngineCollection.FindPartialView'
Step into: Stepping over non-user code 'System.Web.Mvc.Html.TemplateHelpers.ActionCacheViewItem.Execute'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.kwj3uqan.dll', Symbols loaded.
Step into: Stepping over non-user code 'System.RuntimeType.CreateInstanceSlow'
Step into: Stepping over non-user code 'System.Web.Mvc.DependencyResolver.DefaultDependencyResolver.GetService'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerViewEngine.DefaultViewPageActivator.Create'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerCompiledView.Render'

Parece que o Visual Studio está recompilando meu modelo de exibição toda vez que é chamado, o que é novamente, centenas de vezes. Minha teoria é que o Visual Studio compila o arquivo, o salva no compartilhamento de rede, o compartilhamento de rede, de alguma forma, imprime uma nova vez, e o Visual Studio pensa que o arquivo foi alterado e, portanto, o Visual Studio o recompila novamente. Apenas uma teoria; Eu realmente não tenho ideia.

Por um lado, aparentemente eu tenho arquivos offline (este é um computador desktop em um escritório; eu não poderia me importar menos). Vou desativar, reiniciar e tentar novamente amanhã.

Além disso, mover o meu projeto, como está, para o C: local, corrige-o. Carrega muito rapidamente. Mas isso não é ideal em um ambiente de trabalho. Perco as versões anteriores, meu código não é copiado, a menos que eu o copie manualmente e não seja mais compartilhado com ninguém.

Eu posso me contentar em copiá-lo de C para o compartilhamento de rede, se for o caso. É muito mais irritante esperar dois minutos para cada carregamento de página.


Tenho muitas perguntas: E a máquina em que você está executando? Ele tem potência suficiente para o que você está tentando fazer? Você tem plugins de terceiros? Que tipo de antivírus você possui?
Fickle Panther

1
Atualizei minha pergunta com mais informações.
Ber'Zophus 24/09/12

A remoção de arquivos offline apenas parecia ser a correção. Funcionou muito bem por um tempo, depois o problema voltou. Mas tenho outra resposta possível. Atualizando minha solução.
Ber'Zophus 25/09/12

Para secundar a questão do antivírus, tive grandes problemas com o ThreatFire em execução. Desligá-lo temporariamente acelerou o depurador para mim, pelo menos, centenas de vezes. Desligar o meu AV principal (Avast!) Só ajudou um pouco.
22813 Jon Coombs

@JohnSaunders você tentou executá-lo no modo de administrador ?: stackoverflow.com/questions/36322440/...
Robert Oschler

Respostas:


650

Aqui está como eu resolvi o problema "carregamento lento de símbolos" no Visual Studio 2012:

  • Vá para Ferramentas -> Opções -> Depuração -> Geral

  • Marque a caixa de seleção ao lado de "Ativar apenas meu código".

  • Vá para Ferramentas -> Opções -> Depuração -> Símbolos

  • Clique no botão "..." e crie / selecione uma nova pasta em algum lugar do computador local para armazenar símbolos em cache. Chamei o meu de "Cache de símbolo" e coloquei em Documents -> Visual Studio 2012.

  • Clique em "Carregar todos os símbolos" e aguarde o download dos símbolos nos servidores da Microsoft, o que pode demorar um pouco. Observe que o botão Carregar todos os símbolos está disponível apenas durante a depuração.

  • Desmarque a marca de seleção ao lado de "Microsoft Symbol Servers" para impedir que o Visual Studio consulte remotamente os servidores da Microsoft.

  • Clique OK".

A partir de agora, o carregamento do símbolo deve ser muito mais rápido.

Observe que, se você fizer alterações / downloads em assemblies da Microsoft, poderá ser necessário voltar à caixa de diálogo Símbolos e "Carregar todos os símbolos" novamente.


31
Sem solução para mim, eu tenho medo. Essa seria uma boa solução para aqueles que giram em torno de problemas com os símbolos da Microsoft. Infelizmente para mim, meu problema parece girar em torno de meus próprios símbolos. Esses símbolos já fazem cache local e, por algum motivo, compilaram centenas de blocos em apenas uma página carregada.
Ber'Zophus

8
obrigado por esta dica, um problema que estou tendo aqui é o botão carregar todos os símbolos está desativado para mim, alguma idéia?
22613 Chris McGrath

14
@ChrisMcGrath tente este link social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/… . BTW Obrigado pela ótima resposta
Tabelas de Bobby

16
mesmo depois de seguir suas etapas, o botão "Carregar todos os símbolos" fica oculto e não consigo clicar nele. O que eu deveria fazer agora? Estou usando o VS Express 2012.
Himanshu Aggarwal 2/13/13

86
Aqui está a solução para quem tem o botão Carregar todos os símbolos desativados: O botão está disponível apenas durante a depuração.
Gwynnbleid1

114

Desativar o intelliTrace corrigiu isso para mim.

No Visual Studio, Ferramentas -> Opções -> IntelliTrace

Em seguida, desmarque a caixa de seleção "Ativar IntelliTrace".

Desabilitar o IntelliTrace no Visual Studio 2012


2
Eu tive esse problema ao passar por um dos meus testes de unidade. Demorou cerca de 300 segundos com o intellitrace ativado e cerca de 14 segundos quando foi desligado. Essa correção realmente funcionou para mim.
Paul Bullivant

2
Melhorou a minha arranque de 25 segundos para 6. Eu acho que ajudou muito porque eu estava correndo muito do meu próprio código no arranque da aplicação
James Ellis-Jones

2
Maldição ... De 1 a 10 segundos. É selecionado por padrão no VS2012 Ultimate. Cuidado pessoal
Kevin Cloet

7
Não é possível encontrar o Intellitrace em Ferramentas => Opções. .. Eu tenho vsComunity 2015
shireef khatab 08/08

8
No Visual Studio 2015, o Intellitrace existe apenas no VS 2015 Enterprise Edition.
HK1

78

Nada disso funcionou para mim, mas eu encontrei um ponto de interrupção em um símbolo que foi excluído. Parece que 2010 estava pendurado nele. Para verificar se esse é o seu problema, depure-> windows-> breakpoints Se houver algum, exclua-os.

Saunders, mencionou que ele verificou isso, mas não foi mencionado nas soluções para esse problema. Talvez conhecimento comum para alguns, mas não para todos nós.


5
De repente, comecei a ter esse problema no VS2010 e era, de fato, um dos meus pontos de interrupção que o estava causando. Assim que limpei meus pontos de interrupção, tornou-se rápido novamente.
David Airapetyan

3
Uau ... VS2012 estava rastejando, 5 minutos apenas para criar um projeto simples. Limpou todos os pontos de interrupção e está relâmpago rápido novamente, obrigado !!
QFDev 29/08

1
Depois de ler isso e seguir o que você disse, encontrei um ponto de interrupção que de alguma forma foi colocado no código XML de um dos meus arquivos de entidade edmx. Você é homem / mulher.
JB06

Muito obrigado. Isso resolveu meu problema com desempenho muito lento do VS2010.
Vaibhav Patle

2
Isso também trabalhou por um problema de depuração lenta que eu tinha em Visual Studio 2015.
Purplecat

41

Excluí a pasta "Arquivos temporários do ASP.NET" e o carregamento da minha página localhost melhorou drasticamente. Aqui está o caminho ...% temp% \ Arquivos temporários do ASP.NET \


9
C: \ Users \ {USER_NAME} \ AppData \ Local \ Temp é o caminho e "AppData" pasta é uma pasta oculta
Shiva Naru

2
Encontrei 1GB de porcaria velha aqui .... exclua tudo e o VS funcione um pouco melhor. :)
RitchieD

29

Você ativou o FusionLog?

Meu VisualStudio demorou muito para iniciar, abrir a solução e carregar símbolos ao iniciar a depuração. Estava lento apenas na minha máquina, mas não em outras máquinas.

O FusionLog grava toneladas de material de log no disco. Desativá-lo no RegEdit resolveu tudo, no meu caso.

Esta é a chave FusionLog no registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

Verifique o valor do ForceLog (1 ativado, 0 desativado).


1
Hum ... resposta muito boa. Eu estava no mesmo barco. Eu também habilitei FusionLoghá muito tempo e esqueci de desativá-lo. Agora, a depuração do ASP.NET MVCaplicativo é muito mais rápida. Graças a Deus e @rkawano. :)
Leniel Maccaferri

29

Eu experimentei o mesmo problema e tentei a maioria das resoluções acima. A simples exclusão de arquivos temporários e de cache acaba funcionando para mim.

Tente remover o conteúdo dessas duas pastas:

C:\Users\\{UserName}\AppData\Local\Microsoft\WebsiteCache

e

C:\Users\\{UserName}\AppData\Local\Temp (em particular, as pastas iisexpress e Arquivos temporários do ASP.NET).

Isso pode ser configurado para ocorrer automaticamente no logon no Windows, adicionando um arquivo cmd à C:\Users\\{username}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startuppasta com o seguinte conteúdo:

rmdir C:\Users\\{username}\AppData\Local\Microsoft\WebsiteCache /s /q

rmdir C:\Users\\{username}\AppData\Local\Temp /s /q

Isso funcionou. A pasta "AppData" é uma pasta oculta, caso alguém não consiga encontrá-la.
Shiva Naru

3
É esse! Funciona tão bem que agora faço acontecer automaticamente quando faço logon no Windows: adicionei um arquivo chamado DeleteVisualStudioCache.cmd a C: \ Users \ {nomedeusuário} \ AppData \ Roaming \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Inicialize com os seguintes comandos: rmdir C: \ Users \ {nome de usuário} \ AppData \ Local \ Microsoft \ WebsiteCache / s / q rmdir C: \ Users \ {nome de usuário} \ AppData \ Local \ Temp / s / q pausa
Graham Laight

25

Acho que finalmente posso pelo menos conhecer a causa, embora não seja o motivo. Quando o problema começou a ocorrer novamente, notei uma tonelada de processos "conhost.exe" órfãos. Eu fecharia o Visual Studio e eles permaneceriam abertos. Encerrar a tarefa em cada um deles finalmente resolveu o problema de maneira confiável. [esperançosamente]

(Observe que o conhost.exe não é um processo do Visual Studio, embora o Visual Studio o use. Portanto, outros usuários por aí podem ter outros aplicativos por aí que executam o conhost.exe. Eu sei que minha máquina não faz e é por isso que posso finalizar com segurança todas as tarefas, exceto a YMMV.)

Por que isso acontece? Parece ocorrer quando abro mais de um projeto ao mesmo tempo, o que costumo fazer com frequência, mesmo que eu apenas crie e depure um deles a qualquer momento.


Editar # 1 - Infelizmente, esta não é uma "bala de prata". Nem sempre funciona para mim. Normalmente, quando as coisas ficam lentas, eu fecho todas as minhas sessões do Visual Studio, depois vou para o gerenciador de tarefas e encerro qualquer instância, conhecost.exe, iisexpress.exe Microsoft.VisualStudio.Web.Host.exe e MSBuild.exe Eu posso encontrar.

Normalmente, depois disso, quando eu reiniciar meu projeto, ele será carregado rapidamente. Mas não sempre.

Realmente acho que o melhor curso de ação é provavelmente não criar e depurar código de um compartilhamento de rede / pasta redirecionado.


Editar # 2 - Dois anos depois, e isso ainda é um problema para mim no Visual Studio Community 2013, mas pelo menos pareci encontrar a tarefa culpada: Explorer.exe . Sim, quem sabia. No momento em que termino essa tarefa, bam, a página é carregada em um único segundo.

Se eu tiver um navegador de arquivos do Windows Explorer aberto na minha unidade de rede redirecionada (geralmente porque é onde está o meu código), esse problema parece ocorrer. Fechar a janela não é suficiente, eu tenho que matar toda a tarefa Explorer.exe. Eu só podia adivinhar o que está fazendo ... enlouquecendo com alças de arquivo?

Normalmente, posso usar o gerenciador de tarefas para iniciar uma nova tarefa do explorer.exe (só posso usar alt-tab), e o Visual Studio continuará carregando bem e rapidamente. Mas se eu abrir o Windows Explorer novamente, ele quase sempre voltará ao super-slow-mo.

Portanto, se você tem um compartilhamento de rede redirecionado, experimente. É melhor do que trabalhar localmente.


Sei que essa é uma notícia um pouco antiga, mas tive o mesmo problema. Minha equipe sugeriu que eu usasse um script de construção que copiasse os arquivos da minha fonte local para onde os arquivos estavam sendo executados e toda vez que eu executasse essa sub-rotina, ela criaria um conhost.exe e não o fecharia. Depois que terminei todas as cópias extras, ele correu muito rápido novamente.
precisa saber é o seguinte

22

As opções acima são todas boas soluções e eu tentei todas elas, mas obtive a solução aqui , que é

Debug -> Delete All Breakpoints

19

Para mim, era o IE 9.08.8112.16241. Assim que eu usei o Firefox ou o Chrome, não houve depuração lenta com o F10 ou o F11. Não sei qual é o problema do IE, mas oficialmente desprezo usá-lo para testes agora.

Atualização: desliguei todos os complementos de programa do IE e ele voltou à velocidade máxima. Ligá-los um de cada vez revelou que o LastPass (no meu caso) era o culpado. Acho que não culpo a MS, afinal.


2
Isso corrigiu meu problema também. Eu estava obtendo bloqueios completos do sistema ao tentar depurar, especialmente ao usar a janela do QuickWatch. A barra de ferramentas LastPass precisa estar desativada. (IE 10.0.9200.16635)
mpeterson

1
E é por isso que eu amo o StackOverflow. Mas o LastPass deve corrigir isso - estou enviando um e-mail agora para que eles saibam. Obviamente, ainda há um problema com o VS2013 e o IE 11. LastPass desativado e de volta ao normal. Obrigado a UserBlueOne pela informação - pode continuar a trabalhar novamente.
25414 Sean

1
FREAKEN LASTPASS! Meu teclado estava completamente entupido ao depurar no VS 2012 com meu aplicativo MVC. LastPass desativado e tudo voou novamente. OBRIGADO! Votado.
Tony

Em Win8.x com IE se você usar MS conta para o login, você pode tê-lo sincronizar os logins assim não há necessidade de usar LastPass, mas ainda tem (parcialmente) os benefícios, :)
Peter

Isso ... funcionou para mim. Observe que agora é 2019 --- seis anos depois --- e estou usando o plug-in LastPass com o Microsoft Edge.
Luke Maurer

15

Para mim, implementei essa dica, que basicamente melhorou drasticamente o desempenho adicionando os dois atributos a seguir à tag de compilação no web.config

<compilation ... batch="false" optimizeCompilations="true"> ... </compilation>

O que batch = "false" faz?

Torna a pré-compilação mais seletiva, compilando apenas as páginas que foram alteradas e exigem recompilação

O que exatamente as otimizeCompilations estão fazendo? Fonte

O ASP.NET usa um código de hash por aplicativo que inclui o estado de várias coisas, incluindo a pasta bin e App_Code e global.asax. Sempre que um domínio de aplicativo do ASP.NET é iniciado, ele verifica se esse código de hash foi alterado em relação ao calculado anteriormente. Se houver, toda a pasta codegen (onde os conjuntos compilados e copiados por sombra vivem) é apagada.

Quando essa otimização é ativada (via optimizeCompilations = "true"), o hash não leva mais em consideração bin, App_Code e global.asax. Como resultado, se essas alterações forem alteradas, não eliminamos a pasta codegen.

Referência: Elemento de compilação no msdn


2
Obrigado por postar. Isso realmente fez mais para melhorar meu desempenho do que a resposta aceita.
Kanapolis

@ Ber'Zophus, você pode tentar este e compartilhar conosco seus resultados?
precisa saber é o seguinte

compilação vai para dentro system.web
The One

1
Confirmado para trabalhar com soluções grandes e aplicativos da Web (MVC) dentro.
hQuse

12

Também tive problemas de desempenho de execução com depuração e tentei muitas opções de depurador. No meu caso, enorme desempenho alcançado quando altero essas opções:

Ferramentas - Opções - Depuração - Janela Saída - (Configurações gerais de saída - Todas as saídas de depuração) - DESLIGADO


12

No meu caso, era a extensão do .NET Reflector Visual Studio (versão 8.3.0.93) com o VS 2012. A depuração estava demorando 10 segundos para cada etapa (F10).

No Visual Studio, vá para Ferramentas / Extensões e Atualizações ... e desative a Extensão do .NET Reflector Visual Studio . Não se esqueça de reiniciar o Visual Studio.


Descobri da maneira mais difícil que isso estava causando o meu problema também. Somente depois de desativar a extensão, procurei ver se alguém havia notado.
21413 awj

11

Eu tive problemas com a depuração lenta do Visual Studio quando o depurador "Native Code" foi ativado. Tente desativá-lo.

No "Visual Studio 2012", vá para:

  1. Propriedades do projeto ->
  2. Web ->
  3. Depuradores (parte inferior da página). ->
  4. Desabilitar tudo, exceto o ASP.NET

Espero que ajude.

Perguntas semelhantes: 1 , 2


O meu já está definido para isso, infelizmente, então não há solução para mim. Mas poderia ser um bom conselho para os outros tentarem.
Ber'Zophus

Isso consertou para mim!
Harvey

11

No meu caso foi

Tools/Options/Debugging/General/Enable JavaScript debugging for ASP.NET (Chrome and IE)

Depois de desmarcar isso, meu início de depuração passou de 45-60 segundos para 0-5 segundos.


Esta é a mais rápida #
Frank Myat th

10

Uma vez, após uma queda de energia, tive que enfrentar o mesmo problema de lentidão cada vez que um ponto de interrupção era atingido ou uma exceção era lançada.

Tive a vaga lembrança de que o arquivo "suo" (no mesmo diretório do arquivo de solução "sln") pode estar corrompido e tornar tudo lento.

insira a descrição da imagem aqui

Eu apaguei meus arquivos "suo" e tudo estava ok. A exclusão de arquivos .suo é inofensiva e implica apenas recriar o layout do meu windows, além do projeto inicial e algumas outras personalizações não críticas.


Acabei de perceber que também fiquei lento depois da queda de energia, muito obrigado por esta resposta.
Nic

procure uma .vspasta em versões posteriores do Visual Studio. Apague isso.
CAD cara

10

Eu também estava enfrentando esse problema. Abaixo estão as etapas que eu executo e ele funciona para mim sempre:

  • Excluindo o arquivo .suo da solução.
  • Excluindo os arquivos ASP.NET temporários (você pode encontrá-lo em % WINDOW% \ Microsoft.NET \ Framework \\ Arquivos ASP.NET temporários )
  • Excluindo todos os pontos de interrupção no aplicativo.

Reiniciar levou cinco vezes mais que o normal, em vez de dez vezes mais que o normal. A exclusão do arquivo .suo tornou a inicialização quase instantânea. Obrigado!
Shelby115

Parece que a exclusão do arquivo .suo funcionou. Qualquer razão para excluir esses arquivos ajuda a melhorar o desempenho.
precisa saber é o seguinte

O @SharpCoder .suo contém muitas informações, como quais arquivos estão abertos no IDE, informações do depurador, configurações locais etc. alguns casos.
precisa

9

Não sei se você ainda está tendo esse problema, mas depuro sites no Visual Studio anexando o depurador ao próprio processo, em vez de permitir que o VS faça isso por mim, e achei que ele melhorou bastante os tempos. Eu uso uma extensão para o VS chamada AttachTo e tenho um pequeno artigo sobre como usá-lo aqui .

Eu espero que isso ajude.


7

Meu problema lento do VS foi resolvido desativando o link do navegador

insira a descrição da imagem aqui


Eu sei que os comentários de "obrigado" são um pouco desaprovados aqui, mas, sério, MUITO OBRIGADO. Essa mudança levou o programa que estou testando de lento a ponto de ser inutilizável, para reatividade essencialmente instantânea. Você provavelmente me comprou cerca de uma ou duas horas por dia de produtividade só para não ter que esperar em torno de coisas a carga
thnkwthprtls

@thnkwthprtls de nada - uma daquelas configurações padrão do MS que você precisa observar :)
Salty

Não é necessário desativá-lo, veja minha resposta => stackoverflow.com/a/34979659/2736742 #
A. Morel

6

Se alguém perceber esse comportamento saindo do campo esquerdo, verifique se você não tem nenhum ponto de interrupção definido no web.config. Eu devo ter definido um com um clique perdido do mouse, e realmente diminuiu todas as operações de depuração.


Só tinha exatamente a mesma coisa. Quase me deixou louco. Por que diabos um ponto de interrupção inativo em um arquivo web.config interrompe completamente a depuração?
pleunv

6

Depois de passar o dia todo esperando que os símbolos carreguem tão lentamente quanto a velocidade da tartaruga, misturando e alternando entre todas as combinações possíveis: Just My Code, símbolos de cache , Intellitrace , Just-In-Time, processos de extinção , etc.

Minha solução foi realmente desativar o antivírus . Sim, o Windows Defender estava atrasando o lançamento do meu projeto! Ele verificaria todas as DLLs, conforme solicitado pelo Visual Studio, e atrasaria todo o processo de carregamento de símbolos.

Devo dizer que nossas máquinas têm ótimas especificações para compilar a solução muito rápido, o que nunca foi um problema. Codificamos no VS 2013 Ultimate.


1
Sim, desligar o Windows Defender funciona como um encanto! Para desativar permanentemente o Windows Defender no Windows 10, defina Iniciar = "4" (4 é para desabilitado) no caminho RegEdit HKLM \ System \ CurrentContolSet \ Services \ WinDefend
hal

Tendo o problema com o antivírus AVG. Alguém descobriu se uma pasta específica pode ser excluída do antivírus para resolver o problema, por favor? Coloquei símbolos em cache e excluí a pasta de cache de símbolos - mas isso não fez diferença.
Graham Laight

1
você pode manter o AV e excluir da análise certos caminhos e destinos (VS e seus projetos)
Soleil - Mathieu Prévot

5

Esvaziar o cache de símbolos funcionou para mim.

Consulte: barra de menus / Ferramentas / Opções / Depuração / Símbolos / Esvaziar cache de símbolos


3

Problema semelhante desperdiçado melhor metade do meu dia!

Como a solução para o meu problema era diferente do que foi dito aqui, vou publicá-la para ajudar outras pessoas.

O meu era um ponto de interrupção. Eu tinha um ponto de interrupção "Break at function" (ou seja, em vez de pressionar F9 em uma linha de código, nós os criamos usando a janela de pontos de interrupção) que deveria parar em uma função de biblioteca fora do meu projeto.

E eu tinha "Use Intellisense para verificar o nome da função " VERIFICADO. (Informações aqui .)

Isso ficou mais lento do que o inferno (inicialização do projeto de 2 segundos a 5 minutos).

A remoção do ponto de interrupção resolveu o problema definitivamente.


3

Uma coisa que funcionou para mim depois de fazer tudo o que foi
dito acima foi: Na janela Threads (Debug-> Windows-> Threads), defina Agrupar por como Nenhum. Isso só pode ser feito durante a depuração.

Isso teve um impacto mesmo depois de fechar a janela.


3

No Visual Studio:

Ferramentas -> Opções -> Depuração -> Símbolos

Escolha "Somente módulos especificados". Clique no link "especificar módulos" e adicione um módulo em branco (clique no botão novo documento e pressione OK).


3

Abra a pasta da solução no windows explorer, feche o visual studio, exclua o arquivo .suo do windows explorer.

Agora abra o projeto no visual studio, espero que o depurador seja anexado / desanexado rapidamente.


3

Para mim, eram pontos de interrupção condicionais. Essas parecem realmente desacelerar as coisas.


1
De fato eles fazem. Mas somente se as linhas que os contêm forem realmente executadas.
Peter Mortensen

3

Vá para suas variáveis ​​de ambiente e procure a chave _NT_SYMBOL_PATH.

Delete isso.

Voila, funcionou como um encanto.


value == symsrv*symsrv.dll*C:\WINDOWS\Symbols*http://msdl.microsoft.com/download/symbolsainda não há dados!
SliverNinja - MSFT

3

O problema para mim foi o recurso "Link do navegador" que é muito pesado quando você tem várias guias abertas para o mesmo projeto!

Porque toda vez que lançamos o projeto, ele abre uma nova guia com as comunicações por link do navegador.

Apenas feche todas as guias associadas ao projeto e mantenha apenas uma aberta!

Este estúdio visual instantaneamente grátis! É Magica ! ;-)

“O Link do navegador é um recurso desde o Visual Studio 2013 que cria um canal de comunicação entre o ambiente de desenvolvimento e um ou mais navegadores da web. Você pode usar o Link do navegador para atualizar seu aplicativo Web em vários navegadores ao mesmo tempo, o que é útil para testes entre navegadores. ”


3

Uma solução rápida e fácil para aqueles que não têm muito desvio das configurações padrão do VS.

Ferramentas -> Configurações de importação e exportação -> Sim, salve minhas configurações atuais -> Visual C #

Estou certo de que a solução acima também funcionaria com outras configurações padrão. No meu caso, algo atrapalhou minhas configurações de carregamento de símbolos, mas não foi possível corrigi-lo, mesmo que eu tenha tentado algumas das soluções sugeridas.


3

Verifique se você não abriu o Visual Studio no modo administrador

Eu enfrentei esse problema e tive que executar no modo normal.


6
Infelizmente, a execução como administrador é necessária se você tiver seus projetos definidos para execução no IIS.
Nelson Rothermel

@NelsonRothermel Qual versão? Não é mais (VS2017).
Soleil - Mathieu Pré-dot

@Soleil: No VS2017, ainda é necessário. O IIS é executado como um serviço do Windows (ou conjunto de serviços) e não no espaço do usuário. Você pode estar se referindo ao IIS Express, que não requer direitos de administrador. Eu geralmente recomendo que você use o último, especialmente em uma organização que bloqueia máquinas, mas tem algumas desvantagens.
1913 Nelson Rothermel
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.