J'ai essayé de configurer le débogage de la source .NET en suivant cette procédure pas à pas MDSN . Le cache de symboles est correctement configuré, tout comme la coche «Activer la progression de la source .NET Framework».
Mais par la suite, chaque fois que je veux entrer dans le code .NET, je suis invité à spécifier l'emplacement du fichier cs pertinent. Le message d'erreur est
You need to find <filename>.cs to view the source for the current call stack frame
et The debugger could not locate the source file <filename>.cs
.
On me propose de rechercher le fichier (mais je ne l'ai pas) ou d'afficher un démontage (mais je ne le veux pas).
Comment entrer dans le code source .NET?
Vérification
Tools
->Options
->Debugging
->General
->Enable source server support
mystérieusement fait que tout fonctionne. J'espère que la même chose est vraie pour toila source
Cela m'a également pris une heure. Je l'ai finalement corrigé en réinitialisant les paramètres -> Outils -> Paramètres d'importation et d'exportation -> Réinitialiser tous les paramètres
la source
Nettoyez la solution avant la compilation a résolu le problème pour moi.
Naviguez et cliquez sur:
Build
->Clean Solution
.Build
->Build Solution (Ctrl + Shift + B)
.la source
J'ai essayé toutes les réponses ci-dessus et rien n'a fonctionné.
Cela a résolu le problème pour moi:
Debug
->Delete all Breakpoints
et cela a résolu le problème! Tant de choses différentes causent ce problème.
la source
Les réponses ici parlent toutes d'ignorer / d'éviter le code source au lieu d'entrer réellement dans celui-ci.
@JBSnorro
est sur la bonne voie, mais le problème est que Microsoft ne semble pas publier tous les symboles / sources .NET que vous pourriez rencontrer. Je ne sais pas si c'est intentionnel de leur part, mais pour entrer dans les sources MS, ils doivent publier chaque version de chaque assemblage, ce qui est une grande tâche logistique.Tools
->Options
->Debugging
->General
->Enable source server support
fonctionnera dans de nombreux cas mais j'ai trouvé par exemplemscorlib.dll
pour 4.6.1 qu'il manquait des symboles et / ou une source décompilée. Je ne pouvais donc pas entrer dans le code source commun commeDictionary.cs
ouTask.cs
comme exemples. Puisque la source et les symboles du serveur de symboles MS changent probablement tout le temps. Mon problème peut être résolu au moment où vous lisez ceci?Lorsque je débogue la même solution dans Jetbrain's Rider, je peux voir et parcourir chaque classe de chaque assembly .NET sans problème. Cependant, dans VS, je ne peux entrer que dans une classe mais pas dans d'autres?
Si vous êtes vraiment déterminé à entrer dans tout le code source .NET, vous pouvez utiliser DotPeek de Jetbrain et décompiler les assemblys .NET en fichiers .cs réels sur votre disque. Alors quand tu vois ça,
Vous pouvez maintenant parcourir votre disque jusqu'au code source que vous avez décompilé à l'aide de DotPeek. Assurez-vous simplement d'avoir décompilé la même version d'assembly que vous référencez dans votre projet. Sinon, les symboles peuvent ne pas correspondre aux bons numéros de ligne source.
Au lieu de cela, si vous voulez simplement empêcher que cette "Source introuvable" n'apparaisse constamment et que vous ne voulez pas entrer dans le code pour lequel il n'y a pas de sources, lisez
@Alex Sherman
la réponse. Vous devrez déterminer dans quel assembly le fichier incriminé est contenu, puis ajouter ce nom d'assembly à la liste d'exclusion.Matière à réflexion, je ne suis pas fan de Rider over VS. Rider est toujours un peu brut et manque de la quantité folle d'outillage intégré que VS a. Pourtant!! J'aime l'avoir installé côte à côte dans des cas comme celui-ci où je sais que je peux m'enfoncer plus profondément dans les mauvaises herbes.
la source
Eu le même problème, aucune des solutions proposées ci-dessus ne m'a aidé à résoudre le problème. S'est produit dans VS 2017. Lorsque j'ai exécuté le projet dans Visual Studio 2019, tout fonctionnait. Essayez donc de l'exécuter dans d'autres environnements. J'espère que cette réponse aidera quelqu'un
la source
Si l'erreur provient de la recherche de "nullable.cs" ou d'un autre fichier source principal:
Vous pouvez désactiver les symboles pour des modules spécifiques en utilisant
Debug -> Options -> Debugging -> Symbols
puis en basSpecify Excluded Modules
.Ceci est utile pour les cas où vous faire voulez désactiver « Just My Code » à pas dans d' autres assemblées que vous avez PDB pour. Je pense que Visual Studio est livré avec des symboles pour
mscorlib.dll
mais n'inclut pas la source, donc parfois, entrer dans les choses cherchera un "nullable.cs" ou un autre fichier source principal.la source
Vous pouvez trouver le code source ici à télécharger afin que vous puissiez déboguer correctement. https://referencesource.microsoft.com/#mscorlib,namespaces
la source
J'ai eu cette erreur lors de la mise à jour d'un package NuGet dans un projet, tout en manquant de le mettre à jour dans d'autres projets de la solution.
Accéder au gestionnaire NuGet de la solution et utiliser la fonction de consolidation, qui garantit que tous les projets de la solution utilisent la même version, a résolu le problème pour moi.
la source
Dans mon cas, j'ai fini par renommer la classe. Peut-être que cela se confondait avec un autre module. Une fois que je l'ai renommé, je pouvais intervenir.
la source