Je veux utiliser les symboles, mais je reçois cette erreur:
un fichier de symbole correspondant n'a pas été trouvé dans ce dossier
Où est le problème?
Une des choses que j'ai rencontrées est due au fait que le débogage était désactivé sur le projet référencé où réside le code. Dans mon cas, j'ai créé une nouvelle configuration appelée "Developer" et le débogage a été désactivé par défaut.
J'ai eu le même problème que @DmainEvent. Apparemment, la dll que j'utilisais n'était pas la même version que la pdb que je venais de compiler, alors j'ai eu le message d'erreur.
Si vous rencontrez ce problème, essayez d’utiliser la DLL et la pdb de la même compilation.
J'ai essayé toutes les solutions possibles, finalement cela a fonctionné lorsque j'ai désactivé l'option Enable native code debugging
sous le Debugger engines
de Properties > Debug
.
J'ai rencontré ce problème et la réponse était simple.
Visual studio a deux paramètres de niveau de projet pouvant créer des fichiers .pdb.
Vous voulez n ° 1 pour le débogage. Oubliez la n ° 2. Donnez le fichier n ° 2 à un nom différent du fichier n ° 1 pour résoudre cette erreur.
Je ne sais pas pourquoi Microsoft spécifie le n ° 2 en tant que fichier .pdb. C'est juste déroutant.
Sans plus de détails sur ce que vous faites, il est difficile d'aller au-delà "le débogueur recherche un fichier de symbole qui correspond au code compilé et ne peut pas en trouver un dans le dossier contenant le code compilé".
Quelques points à considérer:
Pensez à clarifier votre question si vous voulez une meilleure réponse. Surtout que voulez-vous dire par "je veux utiliser des symboles".
L'erreur que j'ai eu était "un fichier de symbole correspondant n'a pas été trouvé dans ce dossier" dans la fenêtre Debug => Modules même après que la DLL et le PDB étaient disponibles et construits ensemble, je ne pouvais donc pas déboguer dans la cible DLL référencé par mon projet principal.
Publier ceci ici au cas où cela aiderait quelqu'un à naviguer avec "Plateforme mixte" à construire pour la DLL cible. J'ai fait deux choses pour surmonter ceci:
Dans la solution utilisant la DLL cible, décochez "Just My Code" dans Tools => Options => Debugging => General => Activer Just My Code (JMC).
Cochez "Activer le débogage de code natif" dans la solution cible DLL dans les propriétés de projet correspondantes => Débogage.
J'ai trouvé que c'était parce que Propriétés => Déboguer => Action de démarrage était défini sur Démarrer un programme externe au lieu du projet. Ainsi, le fichier pdb nouvellement généré ne correspondait pas, car l'exe réel était le mauvais.
Pour les projets BizTalk (et autres), cela peut être dû au fait que vous essayez déjà de déboguer une version de l'Assemblée dans le GAC. Lorsque vous exécutez un test unitaire ou appuyez sur F5 pour déboguer, une nouvelle version est compilée localement. Cependant, la version du GAC est utilisée et le PDB nouvellement créé ne correspond pas au DLL du GAC.
Une solution consiste à désélectionner une construction pour tout sauf votre projet de test unitaire à l'aide de Configuration Manager, comme indiqué ci-dessous:
Eh bien, la solution dépend de votre problème spécifique. J'ai essayé tout ce que l'on pouvait trouver sur Stackoverflow et d'autres sites. Un des fils que j'ai suivi est this . Cela n’a pas aidé aussi ... Le problème a été résolu dès que j’ai remarqué que mon projet executable ne contenait aucune référence à la library que je voulais déboguer. J'ai donc ajouté la référence à ce projet.
** PS: ** Ce problème peut également survenir car l'assembly référencé par l'exécutable Assembly peut ne pas correspondre à celui indiqué dans les références. Donc, dans ce cas, vous supprimez simplement la référence existante et ajoutez la nouvelle.
J'espère que cela t'aides!