VS 2015 Atualização 1 - Alegando que estou depurando uma versão de lançamento

97

Depois de atualizar para a atualização 1 do VS 2015, se eu executar um projeto da web (MVC), interromper o aplicativo e tentar executá-lo novamente, o VS para e exibe uma caixa de diálogo afirmando

Você está depurando uma versão do Release do <myproject.dll>.

Usar Just My Code com versões de lançamento usando otimizações do compilador resulta em uma experiência de depuração degradada (por exemplo, os pontos de interrupção não serão atingidos).

O problema é que não estou executando uma versão de lançamento. Estou claramente executando a (mesma) compilação de depuração que acabei de executar! Por que o VS pensa que estou executando uma versão de lançamento?

Limpar a solução e executá-la novamente elimina a mensagem de erro, de modo que algo é colocado em algum lugar.

John T
fonte
1
Adoraria saber se você consertou isso. Estou tendo exatamente o mesmo problema depois de instalar a Atualização 1. Limpar / executar novamente temporariamente me ajuda, mas acontece novamente na próxima vez.
Jerad Rose
1
Infelizmente, não tenho. Estou em comunicação com o suporte da Microsoft que está investigando o problema.
John T
2
Para valer a pena, o suporte da Microsoft reproduziu o problema e está investigando. Assim que eu ouvir, eu irei relatar / responder.
John T
@JohnT Alguma sorte ainda?
Nick
@Nick Na verdade, não. Vou enviar um ping para meu contato para ver se há alguma atualização.
John T

Respostas:

58

A informação da Microsoft é que este é um problema conhecido (originalmente foi enviado para a equipe do Debugger, mas foi determinado que era um problema de compilação e agora está nas mãos da equipe do sistema do projeto. Existem outros bugs abertos sobre esse problema, e é classificado como Prioridade 1, portanto, deve estar no caminho certo para a próxima atualização. Embora como seria de se esperar, nenhuma promessa pode ser feita sobre quando será lançado (ou o que está realmente na atualização).

Assim. É conhecido e está sendo trabalhado. Desativar pelo menos “Habilitar Just My Code” nas Opções Gerais de Depuração parece ser uma solução por enquanto.

John T
fonte
13
Ainda obtendo isso no VS2017, mas apenas para uma DLL. Qualquer atualização?
JMK
1
Existe algum URL, como no UserVoice, que rastreia esse problema?
UuDdLrLrSs
Usando a mesma solução para o VS 2017. Estranho, ainda não foi corrigido corretamente. De qualquer forma, obrigado pelo trabalho ao redor.
Naveen Kumar V
5
Ainda estou recebendo isso no VS2019.
philu
46

Conforme mencionado por @romanoza, a Microsoft atualizou o (agora ausente) relatório de bug do Microsoft Connect, (anteriormente localizado aqui , caso você consiga encontrar um arquivo em algum lugar) com as seguintes informações:

Desmarque a configuração Depurar -> Opções -> Suprimir otimização JIT no carregamento do módulo (somente gerenciado)

Esta é a solução alternativa. Eles vão dizer mais tarde:

Recomendamos que as pessoas o deixem desmarcado, pois isso melhorará o desempenho e o comportamento apenas do meu código em cenários específicos.

Por fim, o reconhecimento:

É um bug que não funciona com essa configuração habilitada e estamos trabalhando em uma correção para essa situação, caso alguns clientes ainda desejem depurar com essa configuração ativada.

Atualização : com base nos comentários, parece que a caixa agora está desmarcada por padrão para alguns desenvolvedores e que marcá- la pode corrigir exatamente o mesmo problema em alguns casos. Muito estranho.

Nate Cook
fonte
39
Na minha situação, eu realmente tive que fazer exatamente o oposto. Tive de marcar a caixa de seleção da configuração mencionada acima. Isso tudo é muito estranho.
dyslexicanaboko
2
O mesmo que dyslexicanaboko - marquei a caixa de seleção para remover a mensagem.
Jay Cummins de
5
Mesmo problema no Visual Studio 2017, lançamento de abril, teve que marcar a caixa de seleção
Rafael
1
Estou votando positivamente não porque a resposta funcionou, mas porque o primeiro comentário sobre a resposta é o que funcionou! E isso merece destaque. (Observe também que o link externo está inativo. Isso leva você para a página "Microsoft Connect foi retirado".)
Desiludido
Obrigado pelo comentário Craig. Fiz uma pequena edição com base no seu feedback. Esperançosamente, isso ajudará outros no futuro!
Nate Cook
25

Percebi que as respostas aqui estão incompletas, estava tendo o mesmo problema e foi resolvido abrindo as propriedades do projeto e na guia build e debug configuration desmarcando "otimizar código" . Você também deve verificar o gerenciador de configuração conforme mencionado acima para certificar-se de que também está correto. A resposta veio desta postagem e eles devem receber o crédito: Projeto VS2015 não funciona mais no modo de depuração

Obrigado,

cesar-moya
fonte
2
Depois de tanto esforço, descobri que essa era a causa raiz. Estranhamente ativando o código do Optimize, o Visual Studio pensa que seu modo de lançamento e até mesmo pontos de interrupção não funcionam. Tudo sobre depuração desmorona.
Morse
1
Você salvou minha vida. Você é um deus.
SamyCode
12

Resolvi o problema ao definir a configuração para Debug na janela do Configuration Manager , conforme sugerido nesta resposta .

insira a descrição da imagem aqui

fabriciorissetto
fonte
Porém, esse não é o padrão (alguém teve que bagunçar seriamente as suas configurações para que isso acontecesse!), E a maioria de nós já verificou isso. (Foi a primeira coisa que verifiquei de qualquer maneira.) - Como o OP disse, ele está definitivamente construindo no modo de depuração, e eu sei que também estou fazendo uma compilação de depuração real - construída no modo de depuração, com otimizações desativadas, depuração declarado, um pdb válido é gerado, etc.
BrainSlugs83
1
Que bom que você colocou isso aqui Fabrício, aposto que tem um monte de gente que perdeu esse também.
Molibar
11

Limpar (e reconstruir) a solução funciona para mim como uma solução temporária. Além disso, você pode selecionar Depurar> Opções e desmarcar a Suppress JIT optimizationcaixa de seleção.

romanoza
fonte
O VS 2017 ver 15.1 me deu o erro falso ("depurando uma versão de versão"). Limpar e reconstruir fez com que ele desaparecesse.
DesenvolvedorDan
Atualização 3 do Visual Studio 2015, recebia este erro quando Suppress JIT estava desmarcado. Selecioná-lo resolveu o problema.
Saravanan Sachi
6

Tenho tido o mesmo problema desde a atualização para a Atualização 1 do VS2015.

Encontrou um relatório semelhante nos Fóruns do Visual Studio da Microsoft que aponta para um relatório de bug que foi levantado com eles aqui

Existem várias soluções alternativas, mas acho que o problema subjacente é que o IIS Express não está desligando quando a depuração é encerrada - e não é por causa da opção editar e continuar sendo desmarcada. A solução mais rápida que posso encontrar até que o bug seja corrigido:

  • Clique com o botão direito no ícone do IIS Express na bandeja e saia dele após a depuração (crédito para David Totzke que forneceu a solução alternativa para o relatório de bug)

Não é ótimo, mas não acho que uma solução adequada esteja disponível no momento.

Jon
fonte
2
A solução alternativa atual que estou usando é o Cleaning Solution, seguido por Start Debugging.
Jerad Rose
1
A propósito, às vezes preciso realmente matar iisexpress; sair do menu de contexto não faz com que morra
Mark Sowul
3

Eu encontrei o mesmo problema. Resolvi o problema excluindo manualmente todos os arquivos da pasta 'bin' e, em seguida, reconstruí a solução. Eu não entendo mais esse diálogo.

Bps
fonte
2
Já tentei isso, não ajudou. Obtenha o mesmo problema em um projeto totalmente novo.
John T
Eu estava prestes a postar esta resposta também :) Isso funcionou para mim (Atualização 3 do VS2015).
Caio Campos
3

No meu caso, mudei a "plataforma de solução ativa" para toda a solução em "Configuration Manager" de x86 para Any CPU, resolvi o problema

Mak R
fonte
Funcionou para mim também.
Rahatur
1

Verifique as propriedades de configuração da sua solução. Encontrei o mesmo problema e descobri que minha configuração de depuração estava, na verdade, criando alguns projetos com uma configuração de lançamento.

usuário5632285
fonte
4
Desculpe, não, como eu disse nada está definido para Release - todas as configurações são Debug. Executar após uma limpeza NÃO mostra o erro. Parar imediatamente e executar novamente mostra o erro - NADA mudou entre eles, incluindo o projeto NEM MESMO RECONSTRUÍDO.
John T
1

Percebi que o Visual Studio não estava eliminando o processo iisexpress depois que parei o depurador. Matar manualmente o processo pareceu consertar isso para mim.

Isso parece ter sido corrigido na atualização 2.

Alex
fonte
1

Parece haver tantas soluções quanto pessoas com o problema, mas, no meu caso, tive que remover e adicionar novamente uma referência de projeto. A referência do projeto estava em um projeto de teste de unidade na mesma solução.

Crowcoder
fonte
1

No meu caso, a mensagem de erro estava correta. Eu estava executando um aplicativo que carregou a versão lançada. Então, eu corrigi, fazendo com que o aplicativo carregasse a versão de depuração.

Elementar, eu sei, e percebo que me faço parecer uma idiota. Mas às vezes o problema é exatamente o que é relatado.

Randy Richardson
fonte
0

Verifique se a URL do projeto IIS realmente aponta para onde você pensa que está. Em caso de dúvida, clique no botão 'Criar diretório virtual'.

Tive esse problema recentemente em que estava executando uma versão temporária de uma base de código de produção e reposicionei a pasta no IIS para a versão temporária, que estava, de fato, executando uma compilação de produção, não a versão de depuração que eu estava tentando depurar.

Andy Twiss
fonte
0

Para mim, encontrei 3 \ Release \ folder refs neste arquivo FileListAbsolute.txt:

C: \ Projects \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.csproj.FileListAbsolute.txt

Eles eram assim:

C: \ Projects \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.csprojResolveAssemblyReference.cache

C: \ Projects \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.dll

C: \ Projects \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.pdb

E simplesmente remover essas 3 linhas fora do VS e reabrir a solução resolveu o problema. Espero que ajude.

Ian_G
fonte
0

Tentei todas as respostas, e a que funcionou para mim foi remover algum pacote NuGet, não apenas a referência, mas remover o pacote, no meu caso PostSharp. No começo tentei remover a referência de todos os projetos, e não deu certo, então apenas removi os pacotes do gerenciador. Não sei exatamente o motivo, mas foi o que resolveu meus problemas, espero que possa ajudar alguém aí.

JohnZ
fonte
0

Reinicie o Visual Studio. Isso corrigiu o problema para mim em 2017 Professional.

TomDane
fonte
0

Aqui está o que funcionou para mim.

Se for um projeto da web, vá para as propriedades do projeto da web e

  1. Se o IIS local for selecionado, reinicie o servidor IIS.
  2. Se o IIS Express estiver selecionado, saia do IIS Express no ícone da bandeja de tarefas.

Parece que algumas DLLs são armazenadas em cache, portanto as etapas acima invalidarão o cache.

CodingYoshi
fonte
0

Isso aconteceu no Visual Studio 2019 em um aplicativo UWP. Desmarcar Optimize Code nas configurações csproj / build resolveu o problema.

Sean Anderson
fonte
-1

Tenho certeza de que isso foi corrigido no Visual Studio 2015 Atualização 2.

Eu costumava ver isso o tempo todo (várias vezes por dia) e não tinha visto nenhuma vez desde a atualização para a atualização 2.

Jerad Rose
fonte
4
Definitivamente não. Estou entendendo de repente no VS 2015 Atualização 3.
jpmc26
1
Eu não disse que eles não quebraram novamente na atualização 3.;)
Jerad Rose
Eu tenho a atualização 2 em um dev. caixa agora, e ainda estou vendo. - Não vejo nas minhas 3 caixas de atualização. : - /
BrainSlugs83