O ponto de interrupção não será atingido no momento. Nenhum símbolo foi carregado para este documento em um aplicativo Silverlight

331

Ok, o que eu tenho:

O Visual Studio 2010 RC, W7 x64, iniciou um novo tipo de projeto de aplicativo Silverlight. Hospedando o aplicativo Silverlight em um projeto de aplicativo Web do ASP.NET. Silverlight versão 3.0. Adicionadas uma classe LinqToSQL, um serviço WCF, um aplicativo Winform Tester (projeto na solução) e algumas classes (também como projetos na solução).

Ontem, de repente, recebi a mensagem 'O ponto de interrupção não será atingido no momento. Nenhum símbolo foi carregado para este documento. mensagem aparecer no IDE, mas isso afeta apenas o aplicativo da Web, posso depurar o Silverlight e o Winform App.

O que eu tentei / fiz para me livrar da mensagem:

  • Redefinir as configurações do Visual Studio
  • todos os arquivos foram removidos em todas as pastas \ Temporary Files do ASP.NET (existe um para cada 32 bits / 64 bits e para o Framework 2.0 e 4.0)
  • tentei depurar usando o servidor Web Visual Studio Integrated - normalmente eu uso o IIS, na saída do projeto da solução, excluí todas as pastas obj e bin em todas as pastas do projeto
  • criou uma nova solução e adicionou todos os projetos a essa nova solução
  • excluiu o arquivo suo da solução
  • criou um novo aplicativo Web ASP.NET para testar se é um problema de instalação do VS => Eu posso depurar este novo projeto / solução
  • reiniciou a máquina várias vezes
  • reparou a instalação vs.net
  • fez um IISReset
  • removeu o aplicativo da Web do IIS
  • usou o botão Criar diretório virtual em Propriedades do projeto do aplicativo Web para criar um novo aplicativo Web no IIS
  • mudou a versão do framework de todos os projetos de 3.5 para 4.0
  • Abri a solução na minha segunda máquina => mesmo comportamento
  • rastreado no Microsoft Connect por erros / problemas semelhantes
  • PASSADO 7 HORAS.

Então, isso acontece pela segunda vez na minha vida. da última vez, resolvi-o excluindo a pasta de arquivos temporários do ASP.NET, mas desta vez preciso da sua ajuda.

Christian Muggli
fonte
Esta é uma duplicata, olhada [esta página] [1], por uma resposta à sua pergunta [1]: stackoverflow.com/questions/2155930/...
SuperKael
@CalebJares haha ​​Corri para esta questão hoje. Acontece que eu estava construindo / executando no modo release em vez de depurar.
TheB3RV
No meu caso, desativar o código Otimizar na guia Build das propriedades do projeto corrigiu o problema.
Arash Motamedi

Respostas:

176

Clique com o botão direito do mouse na solução -> Propriedades

Procure em Propriedades comuns -> Projeto de inicialização

Selecione vários projetos de inicialização

selecione Iniciar ação nos projetos que você precisa depurar.

Hans K
fonte
Isso funcionou, mas eu precisei fazê-lo algumas vezes (VS 2010, servidor da web embutido, site)
MGOwen
17
Eu tenho vários projetos e iniciar-los como u dizer .. alguns deles são projetos de biblioteca de classe .. follwing aparece erro pop-up: "Um projeto com um Tipo de saída da biblioteca de classes não pode ser iniciado diretamente"
Muhammad Azeem
3
Estou tendo exatamente o mesmo problema sobre o qual Muhammed comentou. O projeto para o qual o VS não carrega símbolos é um projeto de biblioteca. Curiosamente, outra solução que se vincula ao mesmo projeto de biblioteca não tem problemas para depurar a mesma biblioteca!
Vivian Rio
1
Eu não acho que isso seja uma resposta para a pergunta. Ele apenas define vários projetos para iniciar ao mesmo tempo, em vez de apenas um que é típico. Se o projeto for uma Classe Lib (DLL), ele exibirá uma mensagem de erro informando que não pode ser iniciado. Se um projeto é ou não um projeto inicial ou não, não tem influência na depuração.
Greg Gum
No meu caso, reconfigurei o site do IIS executando meu projeto para apontar para uma pasta diferente. De alguma forma, isso apagou a configuração da solução indicada acima ...? Pode ter sido um erro de controle de origem, mas não foi possível encontrar uma alteração no .sln. De qualquer forma, redefinir isso conforme descrito resolveu o problema - espero que esse insight ajude alguém.
Brichins 26/08/2015
79

Eu tive o mesmo problema e, depois de pesquisar no Google, encontrei duas soluções típicas para isso:

  1. Verifique se o depurador do Silverlight está ativado no projeto .Web. Abra as propriedades do projeto e selecione o depurador do Silverlight na guia "Web".

  2. Reinicie o Visual Studio e exclua todas as pastas bin e obj.

Mas nada disso funcionou para mim . Então, alguém mencionou um tópico abaixo para tentar usar o IE como navegador. Isso fez com que a depuração e os pontos de interrupção funcionassem novamente!

Editar:

Mais tarde, lutei com o IE9 que não estava funcionando, porque ele se liga ao processo errado. Em vez de anexar manualmente sempre ao processo correto do IE, encontrei um truque :

  • Clique com o botão direito do mouse em uma das páginas geradas no projeto .Web (.html ou .aspx)
  • Clique em "Navegar com ..."
  • Definir o IE como navegador padrão (afetará apenas a escolha do navegador do Visual Studio)

Agora, o Visual Studio iniciará o IE ao executar o projeto .Web e anexará ao processo correto. Isso deve resolver.

anjdreas
fonte
Obrigado, isso só funcionou para mim! O único problema é: não consigo definir qual navegador executar em nenhum arquivo de configuração (posso?), Agora estou preso no IE como navegador padrão. Bah.
precisa saber é o seguinte
1
Para evitar o IE como navegador padrão, alterei as configurações de inicialização no projeto .Web para executar o IE com o caminho como parâmetros da linha de comando.
Angularsen
Você é demais. Eu tenho lutado com esse problema nos últimos dias. Eu até reinstalei o visual studio. Meu navegador padrão era o Firefox, tentei o Chrome. Simplesmente não me ocorreu tentar o IE, que perda de tempo. Obrigado pela informação.
GaneshT
Meu comentário anterior sobre as configurações de inicialização não deve ser seguido ao corrigir o problema, conforme explicado na minha resposta editada. Basta usar a "opção de página específica" padrão, ou acredito que possa ser anexada ao processo errado.
Angularsen
6
Marquei a caixa de seleção "Silverlight" na guia "Web" nas configurações do projeto .Web. Agora é trabalho. Obrigado!
Eugene Maksimov
54

Sempre que ocorre esse erro específico, a pasta da qual o Visual Studio está carregando os assemblies é diferente da pasta em que o aplicativo Web está sendo executado.

Ou seja, o servidor de aplicativos está executando o aplicativo a partir de

C:\dev\MyApplication\bin 

mas o Visual Studio está depurando de

C:\dev\MyOtherApplication\bin (or something along those lines, anyway).

Nota - por vários motivos, eu faço minha depuração com o IIS como host do aplicativo, em vez do dispositivo autônomo que a maioria das pessoas usa. Isso pode influenciar a utilidade da minha resposta!

Atualização :

Para o IIS, o diretório do servidor de aplicativos (ou seja, C:\dev\MyApplicationacima) é o diretório físico configurado para o aplicativo Web - isso pode ser controlado alterando as configurações básicas do aplicativo.

Para o Visual studio, o diretório de depuração (ou seja, C:\dev\MyOtherApplicationacima) é o diretório em que seus svcarquivos são encontrados, geralmente o mesmo diretório que o csprojarquivo de projeto.

Bevan
fonte
2
Talvez, mas a resposta de Hans K funcionou para mim. Eu acho que há várias respostas, dependendo da situação.
Bob Wintemberg
OK, mas como sei se isso está acontecendo? Como faço para corrigir isso?
MGOwen
@MGOwen - na configuração do IIS, verifique o local físico da pasta virtual que contém seus serviços e verifique se ela corresponde ao diretório de saída do VStudio.
Bevan
Sim, eu também estava trabalhando com o IIS, mas depois que o VS travou, meu arquivo de solução foi corrompido, então tive que retirá-lo do subversion novamente. Obviamente, esqueci que, ao fazer isso, ele voltou a usar o servidor VS webdev. Duh! Obrigado!
Fedor Steeman
3
Quando o VS ficar confuso, volte ao perfil de Depuração. Isso me pegou.
Christopher Stevenson
46

O problema para mim acabou sendo que a caixa de seleção Propriedades-> Compilar-> Otimizar código havia sido ativada na configuração de Depuração. Desativou, reconstruiu e a depuração funcionou normalmente.

Samuel Jack
fonte
2
trabalhou para mim. Na verdade, não sei por que, normalmente a opção "otimizar código" ativada não permitirá que você use {e}.
Vigility 25/10
Trabalhou para mim também! Obrigado!
bisand 03/02
1
Projeto definido para liberar a compilação. Sempre há algo que não está lá.
Ian Warburton
Isso fez por mim! +1
Imdad 27/02/18
22

O motivo pelo qual você enfrentou é que os PDBs ("PDB significa Program Database, um formato de arquivo proprietário (desenvolvido pela Microsoft) para armazenar informações de depuração sobre um programa) não estão atualizados, isso pode ser devido a alguns motivos :

1- Como Bevan disse, você pode estar depurando outro aplicativo!

2- Você está depurando outra versão do mesmo aplicativo. Por exemplo, você anexou um aplicativo criado anteriormente com a versão atual do código para depuração sem (re) construí-lo.

Limpar ou reconstruir a solução resolve esses problemas para mim.

Para garantir que o problema não seja seu, tente depurar o mesmo aplicativo com o VS 2008 (receio que possa haver um bug no VS 2010 - ainda é beta!).

Sameh Deabes
fonte
obrigado pela atenção .. é claro que limpei / reconstruí a solução, mas isso não ajudou. Ponto 1: como posso depurar outro aplicativo se o tentei em outro sistema? mesmo para o ponto 2., a propósito, é RC e bastante estável. obrigado mesmo assim.
Christian Casutt
Não entendi bem sua frase "tentei em outro sistema" !. O Release Candidate não significa que está livre de erros e você não perderá nada se tentar. Se você estiver usando o IE8, algumas pessoas disseram que pode ser a raiz do problema, verifique o seguinte: weblogs.asp.net/abdullaabdelhaq/archive/2009/06/01/01/
Sameh Deabes
Eu também encontrei isso: stackoverflow.com/questions/389290/… as pessoas sugeriram soluções muito simples lá. Dê uma olhada no comentário do ponto de interrupção em linha.
Sameh Deabes
OK eu vejo. minha frase 'eu tentei em outro sistema' => copiou a solução em um pendrive, excluiu todas as pastas bin / obj, abriu a solução no VS.NET e tentou depurá-la. resultado: mesmo comportamento => os pontos de interrupção não são atingidos .. obrigado pelo outro link, vou ler agora.
Christian Casutt
O Clean + Rebuild nem sempre atualiza arquivos .pdb. O que fiz - fui para a pasta / Bin do meu aplicativo da web e excluí manualmente todos os arquivos .pdb e, em seguida, reconstruímos. Funcionou como um encanto.
Dmitriy
21

Eu tive o mesmo problema, estava depurando meu projeto e tive que clicar com o botão direito do mouse no projeto e selecionar "nova instância de depuração". Eu só precisava fazer isso uma vez, depois disso funcionou normalmente.

campo
fonte
Muito estranho. Eu tive o mesmo problema e pesquisei no Google por 2 horas. Por alguma razão, o módulo não estava carregando quando depuro (Depurar -> Windows -> Módulo). Eu apenas tentei essas opções e a depuração do boom começou a funcionar. Eu estava usando Vs2019
Rennish Joseph
18

Este erro surge de vez em quando para mim e sempre posso rastreá-lo de volta às configurações do projeto para a montagem em questão. Você não precisa "esperar" até que seu código não respeite um ponto de interrupção ou até que você defina o ponto de interrupção para saber quais conjuntos têm símbolos carregados.

Quando você executa um projeto no modo de depuração, ele lista na janela Saída quais conjuntos possuem símbolos carregados conforme abaixo (pode ser necessário abrir a imagem em uma nova guia): T

Janela de saída

Portanto, neste caso, o BASD.Core.Data.dll NÃO possui símbolos carregados. Assim, você pode comparar as configurações do projeto para esta montagem com as de outra montagem que conseguiu carregar símbolos, para descobrir por que alguns carregam e outros não carregam símbolos.

"Para mim", no entanto, "toda vez que isso acontece é porque as informações de Depuração não estão sendo criadas. Então, abro Propriedades do projeto> Compilar> Avançado em um projeto (C #).

Portanto, para o Basd.Core.Data.dll acima, ou seja, sem símbolos, as configurações avançadas de compilação foram:

pdboff

Considerando que para o Basd.Core.Configuration.dll, ou seja, um assembly em que eu poderia definir e atingir um ponto de interrupção, as configurações eram:

pdbon

Portanto, estou produzindo informações de depuração no último projeto e não no primeiro, portanto, minha capacidade de atingir o ponto de interrupção no Basd.Core.Configuration.dll

Observe também que não é suficiente simplesmente ter um arquivo .pdb na pasta bin de um projeto para um determinado arquivo .dll, pois pode estar desatualizado e, portanto, não ser escolhido pelo Visual Studio como um arquivo de símbolo válido para o arquivo .dll você está tentando avançar.

Observe também que alterar as configurações de compilação pode alterar as configurações de informações da compilação e de onde os símbolos são extraídos.

(Percebo que, neste caso, estou no modo Release, mas o método ainda se aplica)

rism
fonte
1
Você também pode verificar quais símbolos foram carregados na janela Módulos. Se você for para Depurar> Windows> Módulos, ele listará todos os módulos e seu status de símbolo. Para aqueles que não estão carregados, você pode clicar com o botão direito do mouse neles e clicar em "Carregar Símbolos". Isso é mais uma correção de curto prazo, e só funciona se eles aparecerem na lista para começar.
EF0
14

Ir para Propriedades do projeto -> Compilar -> Avançado ...

Na seção "Saída", selecione "cheio" no menu suspenso Informações sobre depuração

Rafal
fonte
Eu estava tentando anexar o depurador ao perfil de lançamento e isso funcionou para mim!
imlokesh
1
Obrigado! "pdb-only" (em vez de cheio) foi suficiente.
Greg Little.
Deus te abençoe, meu filho.
Christopher D. Emerson
13

Verifique se você está executando seu programa no modo DEBUG e não no modo RELEASE.

MrOli3000
fonte
Ótima resposta. Obrigado
Krishan Subudhi
10

Depurar -> Anexar ao processo ->
escolha Depurar estes tipos de código: opção ->
selecione Managed v3.5, v3.0, v2.0 ou Managed v4.5, v4.0 insira a descrição da imagem aqui

Andrei Karcheuski
fonte
Este é o problema que eu encontrei. Eu tenho alguns projetos na v4.5 e outros na v2.0 (sim, eu sei, eu sei ...). Aparentemente, essa configuração não é baseada em projeto; portanto, quando eu a defini em um projeto v4.5, tive que restaurá-la quando entrei em um projeto v2.0.
L_7337 06/06
9

Acabei de resolver esse problema de acordo com a implantação de aplicativos Silverlight . (Esta resposta é uma duplicata de algumas outras, mas tentarei explicar mais detalhadamente.)

O problema é mais provável que seu aplicativo Silverlight não esteja sendo implantado corretamente no seu aplicativo Web na criação / inicialização. Esse é um problema de referência - é simples de entender, mas não é óbvio na primeira vez em que você o encontra.

Assim como qualquer outra referência de projeto, a saída do projeto referenciado deve ser copiada para a pasta bin do projeto de referência para depuração. Para bibliotecas de classes, isso acontece quando você clica com o botão direito do mouse e seleciona 'Adicionar referência ...'. Para o Silverlight, você deve adicionar uma referência nas Propriedades do projeto.

  • Clique com o botão direito do mouse no seu projeto e selecione 'Propriedades'
  • Selecione a guia 'Silverlight Applications' à esquerda
  • Pressione o botão 'Adicionar ...' e selecione seu projeto do Silverlight na caixa de diálogo

Isso adiciona uma referência ao aplicativo Silverlight no seu aplicativo da web de hospedagem e garante que o xaparquivo seja copiado para o aplicativo da web na criação ou implantação. Isso significa que o aplicativo Silverlight atual e seus arquivos de depuração estão dentro do aplicativo que está sendo depurado e você poderá percorrer o código.

Kirk Broadhurst
fonte
9

Se você estiver depurando um projeto da web, verifique se o atributo debug = "true" foi definido no seu arquivo web.config:

<system.web>
    <compilation debug="true"   .../>
Adão
fonte
8

Eu tive o mesmo problema no Windows 7 e tentei de tudo : DLLs limpas, lista de módulos investigados, desativado "Just My Code" e assim por diante.

O problema foi resolvido após a execução do Visual Studio "como administrador". Honestamente. Por que a Microsoft não conseguiu me avisar que não está sendo executado "como administrador"? Isso me pouparia algumas horas de trabalho.

Ector
fonte
8

Para mim, o problema era que eu tinha "Otimizar código" ativado na guia Compilar das configurações do meu projeto.

Joshua Walsh
fonte
7

Teve o mesmo problema

Por algum motivo, uma das DLLs foi registrada no GAC, portanto, sempre teve uma versão diferente do código.

Depois que eu o removi do GAC, o problema foi resolvido

Stikut
fonte
Você quer dizer como chegou a essa situação? Ou como eu o removi?
Stikut
Como você o removeu. Estou tendo o mesmo problema e não consigo corrigi-lo. Eu tentei de tudo, então esperava que essa fosse minha solução.
Gaui 13/05
1
Eu espero que você poderia usar este: support.microsoft.com/kb/873195 A menos é claro que você tem algum outro erro
Stikut
6

Para aqueles que estão usando o Visual Studio 2008, não o Visual Studio 2010 e estão recebendo esse erro. As respostas acima não me ajudaram nessa situação, por isso estou compartilhando minha experiência.

Se você estiver depurando um aplicativo Web do IIS no Visual Studio 2008, anexando ao processo w3wp.exe, em vez de usar o ASP.NET Development Server para depuração (inicie com depuração), este pode ser o seu problema:

O Visual Studio ainda pode estar fazendo referência a um arquivo de símbolo (arquivo usado durante a depuração) da sua DLL a partir de um processo do IIS desatualizado. E esse arquivo de símbolo foi recriado por uma recompilação do código-fonte .NET, mas o processo do IIS ainda faz referência ao arquivo de símbolo antigo.

Consertar:

Apenas pare a depuração no Visual Studio, reinicie o aplicativo Web e reconecte-se ao processo. Os pontos de interrupção devem mudar de amarelo (quando você vê esse erro) para vermelho novamente.

========================

Mais coisas para tentar (encontrou nova situação hoje):

Faça cada marcador no link abaixo, UM DE UMA VEZ, mas repita meus passos abaixo com cada um que tentar.

http://carnotaurus.philipcarney.com/post/4130422114/visual-studio-debugging-issue-with-files-of-the-same

1.) Pare a depuração (pressione o ícone do quadrado vermelho) no Visual Studio
2.) Solução limpa
3.) Compile a solução
4.) [INSIRA A INSTRUÇÃO DO BOLETIM AQUI]
5.) Ferramentas> Anexar ao processo (ou iniciar com a depuração)
6.) Inicie o programa ao qual você está se conectando e execute-o para que seu código seja atingido

6 explicou:

Se você estiver anexando ao nunit.exe, abra o NUnit e execute um teste para que seu ponto de interrupção seja atingido

Se você estiver se conectando ao w3wp.exe (site do IIS), abra o site no navegador e vá para a página que atingirá seu ponto de interrupção

EDITAR:

Hoje notei que, se você tentar depurar em um projeto que não está definido como o projeto de inicialização, ele mostrará isso. Quando você se conecta ao processo w3wp.exe, ele pensa em depurar o projeto definido como o projeto de inicialização. Para resolver, clique com o botão direito do mouse no projeto de aplicativo da web e escolha "Definir como projeto de inicialização". Em seguida, tente anexar novamente ao seu processo.

MacGyver
fonte
Sinta-se à vontade para votar na resposta se for útil. :-) Eu vou te mostrar o que a votação faz.
MacGyver
Votei na sua resposta, pois foi útil. Eu tentei de outras maneiras, mas a sua foi a que me puxou para fora. Obrigado +1.
Zaker 13/04
5

O cenário é o seguinte: um projeto em particular é o seu projeto de inicialização (por exemplo, possui o método Main). Esse projeto está referenciando outros projetos em sua solução. Os pontos de interrupção nos outros projetos não são atingidos.

Solução rápida: ao criar sua solução, procure no caminho de saída Build (geralmente bin \ Debug) o projeto de inicialização. Veja os arquivos DLL e PDB dos projetos aos quais você está fazendo referência. Verifique se a data da última modificação foi a data em que você criou sua solução. Se não estiverem, copie-os do caminho de saída do Build para cada projeto nos seus projetos de inicialização. Por exemplo:

O projeto A possui principal. Ele faz referência ao Projeto B. Seus pontos de interrupção não estão sendo atingidos no Projeto B. Copie o arquivo DLL e PDB do caminho de saída do Projeto B para o caminho de saída do Projeto A. Em seguida, execute sua solução. O ponto de interrupção agora será atingido.

Agora você precisa descobrir por que o Projeto A não está copiando o arquivo DLL e PDB do Projeto B. As respostas aqui cobrem a maioria dos cenários. Um cenário não abordado é garantir que seus projetos e soluções estejam vinculados ao TFS corretamente. Eu tinha alguns projetos vinculados e outros não vinculados corretamente. Isso causou o problema para mim. Depois de corrigir isso, o problema desapareceu e eu não precisei mais copiar os arquivos DLL e PDB.

Jeremy Ray Brown
fonte
Seu parágrafo 2 corrigiu meu problema. Um dos projetos na solução estava em um diretório bin diferente do diretório bin da DLL de inicialização.
BobRodes
4

As soluções para o mesmo problema no meu caso foram as seguintes combinações de etapas:

  1. Solução -> Propriedades Selecione vários projetos de inicialização, selecione Iniciar ação nos projetos que você precisa depurar.
  2. Removido o serviço de Referências de serviço e limpe a solução.
  3. Reconstrua o projeto de serviço
  4. Adicionado de volta às referências de serviço
  5. Limpe a solução e reconstrua-a.
DIM
fonte
4

Para corrigir esse problema no Web.config, bastava adicionar debug="true"

  <system.web>
    <compilation targetFramework="4.0" debug="true">

O que me ajudou a encontrar essa solução foi examinar as janelas dos módulos durante a depuração e constatar que, para minhas DLLs ASP.NET carregadas, eu tinha: O binário não foi criado com informações de depuração.

Patrick da equipe NDepend
fonte
3

Eu tive o mesmo problema, mas no VS2013 para um aplicativo da Web. Para mim, a resposta foi atualizar a configuração da compilação para a solução: -

  1. Clique com o botão direito do mouse na solução e escolha Propriedades
  2. Selecione a configuração de depuração
  3. Selecione "Configuração" em "Propriedades de configuração" no trivet
  4. Marque a caixa "Build" para cada projeto que você deseja depurar

Depois disso, todos os meus pontos de interrupção começaram a funcionar.

joehanna
fonte
Isso funcionou para mim, mas também tive que alterar todos os meus projetos de Release para Debug na coluna Configuration.
JoshYates1980
2

Ok, aqui vamos nós:

(Em um "aplicativo silverlight": verifique primeiro se o silverlight está marcado em "web" nas "propriedades" do projeto do servidor - se isso não foi resolvido, tente isso abaixo)

Na primeira vez, execute o seguinte procedimento: devenv.exe / ResetSettings e 1: no menu superior, clique na tag de depuração 2: clique em opções e configurações 3: Em "depuração" e em "localização geral", habilite a etapa de origem da estrutura .net " 4: Marque a caixa. 5: E agora todos os símbolos serão baixados e reconfigurados :)

Se isso acontecer novamente, basta limpar a pasta onde estão os símbolos:

1: No menu superior, clique na tag de depuração 2: clique em opções e configurações 3: Em "depuração" e em "símbolos", localize o botão "cache vazio de símbolos" e clique nele.

2FD
fonte
2

Abra a URL do aplicativo Web no navegador e, no IDE do VS.Net, use Ferramentas -> AttachtoProcess

em seguida, anexe ao aspnet_wp.exe.

O depurador começará a funcionar

madhusudhan
fonte
2

Eu tive que desinstalar manualmente todas as instâncias da .dll do registro e todas as instâncias da .dll da minha unidade local. Desinstalei / reinstalei meu aplicativo e agora estou atingindo pontos de interrupção! Desperdiçou meio dia fazendo isso :(.

jason02
fonte
2

Tentei renomear o .pdbarquivo na obj\debugpasta e fiz uma solução limpa e reconstruí-lo.
Ele criou um novo .pdbarquivo e eu consegui atingir os pontos de interrupção corretamente.

Mithran
fonte
2

Eu tive o mesmo problema - perdi muito tempo tentando fazer a depuração funcionar no Visual Studio.

Acabou sendo Nuget - eu tinha 3 versões do Newtonsoft.Json (em 7 projetos C #). A solução seria compilada, mas não era depurável.

Corrigi o problema executando o seguinte no Console do Gerenciador de Pacotes do Nuget:

PM> Pacote de atualização Newtonsoft.Json

DesenvolvedorAlex
fonte
2

Para o meu aplicativo WPF, excluí a pasta do aplicativo, fiz "Get Latest" do controle de origem novamente e reconstruí-o. Todos os pontos de interrupção funcionando muito bem agora.

My Stack Overfloweth
fonte
1

Tente definir o Silverlight Application Project como um projeto de inicialização: clique com o botão direito do mouse em projeto -> 'Definir como projeto de inicialização. Em seguida, pressione F5 e veja se você consegue capturar pontos de interrupção ...

Tente excluir os dados de navegação / temperatura no seu navegador toda vez que você fizer alterações no aplicativo silverlight

ITmeze
fonte
1

Outra anedota que pode ser útil -

Encontrei esse problema quando um dos meus projetos estava usando referências de arquivo de uma pasta de saída do Release. Quando os resultados da compilação foram colocados em uma pasta Mercadorias, essas DLLs de versão substituíam as DLLs de depuração.

A solução foi garantir que, no arquivo csproj, o HintPath da minha referência fosse

<HintPath>..\..\Core\Goods\$(Configuration)\MyFramework.dll</HintPath>

e não

<HintPath>..\..\Core\Goods\Release\MyFramework.dll</HintPath>

BeauJest
fonte
1

Eu tive esse problema quando em um cliente em que - para cada solução de aplicativo - eles copiavam a maioria dos assemblies compartilhados para uma pasta " Referências " e os adicionavam à solução como " Itens da solução " e como " Projeto " na solução.

Ainda não sei por que, mas alguns deles foram depuráveis, outros não, embora nas configurações de Referências para as montagens os caminhos completos corretos tenham sido especificados.

Esse comportamento imprevisível quase me deixou louco :)

Resolvi isso removendo todos os assemblies da pasta " References " para os quais havia projetos com código-fonte e mantendo um rastreamento muito bom das informações de versão para assemblies compartilhados.

Jeroen Wiert Pluimers
fonte
1

Eu tive um problema semelhante, exceto que o meu problema era bobo - eu tinha duas instâncias do servidor da web interno executando duas portas diferentes E eu tinha meu projeto -> propriedades -> web -> "Iniciar URL" apontando para uma porta fixa, mas o aplicativo da web não estava realmente em execução nessa porta. Portanto, meu navegador estava sendo redirecionado para o "URL inicial", que se referia a 1539, mas a instância de código / depuração estava em execução na porta 50803.

Alterei o servidor da Web incorporado para rodar sob uma porta fixa e ajustei meu "URL de início" para usar essa porta também. projeto -> propriedades -> web -> seção "Servidores" -> "Usar o Visual Studio Development Server" -> porta específica

Chris Smith
fonte