Aller à la définition: "ne peut pas naviguer vers le symbole sous le signe d'insertion."

j'ai soudainement commencé à éprouver un problème aujourd'hui dans mon projet où le fait de cliquer sur Aller à la définition me donne une erreur étrange:" ne peut pas naviguer au symbole sous le signe d'insertion."

enter image description here

Je l'ai remarqué pour la première fois après avoir installé Costura.Fody via NuGet. Je l'ai depuis désinstallé mais le problème persiste. J'ai nettoyé et reconstruit la solution plusieurs fois. Y aucun cas de "Fody" ou "Costura" n'importe où dans mon git commit l'histoire, avant ou après le moment où cela a commencé, donc je pense que l'un de mes .les dossiers de gitignore sont dans un mauvais état.

le problème ne se produit que si la définition visée se trouve dans un autre fichier; Allez à Définition pour quelque chose dans le fichier actuellement ouvert fonctionne très bien. La définition de Peek fonctionne aussi bien. D'autres solutions/projets fonctionnent très bien-c'est ce que l' à l'origine de problèmes.

J'utilise Visual Studio 2015. Le problème ne semble pas se produire dans la version 2013.

pourquoi cette erreur se produit - elle et comment puis-je la corriger?

65
demandé sur Jeff E 2015-10-09 05:53:14

30 réponses

ces derniers jours, j'ai eu cette erreur, au moins deux fois par jour.. vraiment ennuyeux! Aucune des solutions proposées ici a fonctionné pour moi. Ce que j'ai trouvé, et comme il était assez difficile de trouver que je l'écris ici, était de:

  • Visuelle
  • ouvrir la Console et naviguer dans le dossier D'installation visuelle, dans mon ordinateur est C:\Program fichiers (x86)\Microsoft Visual Studio 14.0\Common7\IDE
  • exécuter devenv.exe / resetuserdata
  • Open Visual Studio, ça va prendre du temps à charger.

clause de non-responsabilité: J'utilise du Xamarin

prenez en considération ce que @OzSolomon et @xCasper ont dit:

@OzSolomon

installer greffon.

assurez-vous que vous êtes à l'aise avec cela avant d'utiliser / resetuserdata

@xcasper

Si vous avez vos paramètres synchronisés par Microsoft, cependant, la plupart des les préférences semblent se restaurer. Je dis la plupart car il il semble que mes liaisons clés n'ont pas été restaurées et sont de nouveau par défaut. Tout le reste, comme mon thème choisi et les choix de colorisation, la mise en page de mon IDE (où j'ai des onglets par exemple), et ce qui ne l'est pas semblent de revenir.

50
répondu fabricio 2017-09-04 14:46:22

j'ai essayé la solution de David (celle de cliquer sur L'option de Cache de symbole vide) mais ça n'a pas marché pour moi.

comment l'ai-je résolu?

  • fermer tous les fichiers
  • solution propre
  • solution de reconstruction

Pour moi, cette erreur n'a pas de sens mais j'ai résolu de le faire!

35
répondu joalcego 2016-05-10 13:35:33

j'ai eu le même problème. J'ai pris toutes les mesures mentionnées dans tous les commentaires ci-dessus. Il n'a pas de travail. Mais quand J'ai fermé Visual Studio, supprimé".vs " folder (dans le dossier solution) a alors rouvert Visual Studio. Il travaille maintenant comme un charme. Le problème a disparu.

34
répondu Anthony 2017-06-29 04:22:03

vient D'avoir le même problème et il semble qu'il y ait un problème avec VS 2015 et TFS. J'ai eu le problème après avoir fusionné des fichiers dans une autre branche. Essayé plusieurs choses et il a fonctionné:

  • fermez tous les fichiers ouverts et ensuite VS
  • Outils->Options->Options De Débogage->Symboles->Vider Le Cache De Symboles
  • TSF Vérifier et obtenir la dernière (Pour une raison quelconque, il a travaillé, après cette)

Je ne sais pas pourquoi il se produit, mais cela a fonctionné pour moi, il pourrait également être utile de nettoyer le dossier TFSTemp comme mentionné par zvi.

MODIFIER

ce chemin: %TMP%\TFSTemp peut être copié-collé dans l'Explorateur de windows pour accéder à TFS temp

33
répondu David 2016-03-01 12:29:22

le suivant a fixé ceci pour moi:

  • dans Solution Explorer, faites un clic droit sur le nom de la solution.
  • Sélectionner "Solution Propre "

après cette réussite, je n'ai plus reçu l'erreur, et je n'ai pas eu à fermer et à rouvrir quoi que ce soit.

17
répondu Chris Szalaj 2016-04-27 15:26:13

nettoyez vos symboles de cache (Outils > Options > Débogage > symboles > EmptySymbolCache). Ouvrez votre solution en mode administratif.

cela a résolu mon problème.

6
répondu user3724031 2016-05-20 19:08:15

la réponse ci-dessus est correcte, mais le chemin est légèrement off, essayez plutôt ceci:

%AppData%\..\Local\Temp\TFSTemp
5
répondu user2386254 2015-12-06 14:01:36

Just do it:

  • Fermez Visual Studio
  • allez dans le dossier du projet et supprimez .Fichier utilisateur (peut être caché)
  • Open Visual Studio
5
répondu Helper 2017-01-24 13:09:14

a rencontré ce problème en utilisant F12 pour essayer et aller à une définition de méthode.

tous les articles mentionnés (sauf le /resetuserdata - que je n'ai pas essayé parce que ce serait une douleur de récupérer) n'ont pas fonctionné.

Ce qui a fonctionné pour moi:

  • La Sortie De Visual Studio
  • à partir d'une invite de commande, allez dans le dossier de votre solution et lancez le code suivant (ceci supprime tous les bin et obj dossiers dans votre solution):

    FOR /F "tokens=*" %%G IN ('DIR /B /AD /S bin') DO RMDIR /S /Q "%%G"
    FOR /F "tokens=*" %%G IN ('DIR /B /AD /S obj') DO RMDIR /S /Q "%%G"
    
  • Redémarrez Visual Studio. L'ouverture de la solution devrait prendre un peu plus de temps car elle reconstruit maintenant les dossiers obj .

après avoir fait ce F12 travaillé!

comme note latérale, je place normalement ceci dans un fichier batch dans le dossier de ma solution, à côté du fichier .sln . Cela rend plus facile de courir plus tard!

3
répondu TheHUTMan 2018-01-05 13:28:26

j'ai le même problème après la mise à jour visual studio, donc c'est comme ça que je résous le problème.

  1. Fermez visual studio.
  2. supprimer tous .vs dossier de mon projet.
  3. Ouvrez visual studio.
  4. ouvrez mon projet.

Espérons que cette utile pour quelqu'un qui a ce problème.

2
répondu wut-excel 2017-10-31 05:27:00

la plupart des chemins présentés par d'autres ne fonctionnent pas ou sont un peu en arrière.

vider ce dossier:

%localappdata%\Temp\TFSTemp

ça a marché pour moi.

1
répondu Anonymouser 2016-07-13 18:22:53

je dirais que c'est dû au nouveau compilateur Roslyn C#, dans son GitHub issue tracker vous pouvez trouver beaucoup de développeurs rencontrant ceci et essayant de le corriger, mais à l'heure actuelle il est toujours ouvert: https://github.com/dotnet/roslyn/issues/9602

j'ai passé du temps avec ça aussi, et j'ai perdu la bataille. Mais la solution suivante que j'ai trouvé fonctionne bien pour moi.

contournement

  1. changer le raccourci clavier F12 -> modifier.FindAllReferences (pour TextEditor). Ceci va trouver la définition et toutes les références et focaliser le noeud racine (définition) dans les résultats du symbole Find.
  2. appuyez maintenant sur F12, entrez fera la même chose que F12 avant.

pour moi, il semble fonctionner encore mieux que juste GoToDefinition, parce que:

  • après avoir appuyé sur F12 vous pouvez choisir une référence au lieu de la définition en appuyant vers le haut ou vers le bas
  • vous pouvez simplement faire un cycle entre les références et la définition juste avec ces quelques touches (F12, entrer, Haut, Bas), facile à se rappeler.
1
répondu LubosTomsa 2016-09-01 03:37:41

fermer visual studio puis supprimer le nom de fichier caché .vs sur ce projet et réouvrir le studio visuel puis construire le projet. Boom! Tout bon!

1
répondu EzeeykiL 2018-01-05 17:26:00

j'ai fait toutes les choses ci-dessus mais mon problème n'a pas résolu (essayer d'ouvrir le projet par VS 2017),

après cela j'ai réalisé que le problème était mon fichier csproj. Mon projet (mvc)

a été créé par VS 2015... Donc je modifie mon fichier csproj et remplace

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

par ceci:

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

il était tout au sujet de la version de DotNetCompilerPlatform.

(la façon dont je j'ai compris que ce problème était que j'ai créé un nouveau projet mvc par VS 2017 et a comparé les deux fichiers csproj - le nouveau et celui créé par VS 2015 -)

1
répondu Mohammad Galouz Lee 2018-03-04 20:52:09
  1. vérifiez les espaces de noms des deux classes.
  2. Si vous ajoutez des classes dans la bibliothèque de Classe - assurez-vous que vous utilisez le bon type de Projet. Il existe deux types de bibliothèques de classe. Bibliothèque de classe (paquet) et bibliothèque de classe. (Sélectionnez la dernière comme elle crée .fichier dll) qui peut ensuite être ajouté si nécessaire par d'autres solutions.
0
répondu Dev 2015-11-30 16:01:54

si vous avez récemment installé un add-in, envisagez de le désinstaller. C'est ce qui a fonctionné pour moi.

0
répondu tstuts 2015-12-24 01:49:58

j'ai aussi fait face au même problème et "Trouver toutes les références" pour la classe sélectionnée a résolu ce problème.

0
répondu Artem Ustimov 2016-03-18 18:05:54

je suis aussi tombé sur cette fois. Il y a quelque chose qui ne va pas avec TFS dans VS 2015.

j'ai suivi ces étapes et ça a marché

  1. Cleared TFS Cache Cela pourrait être ici:

    C:\Users\(Nom D'Utilisateur)\AppData\Local\Microsoft\Team Foundation\(Version)\Cache

Note: le chemin peut varier en fonction du système d'exploitation donc ne me blâmez pas.

  1. Vidé Cache De Symboles

    Outils > Options > Débogage > Symboles > EmptySymbolCache

  2. redémarré Visual Studio (il pourrait demander de se connecter à nouveau à TFS)

cela a fonctionné pour moi.:)

0
répondu Maulik Modi 2016-05-17 10:27:15

solution propre. Restaurer les paquets nuget.

0
répondu ziaprog 2016-06-16 13:11:43

essayer de nettoyer la solution ou nettoyer votre projet, cela a fonctionné pour moi

0
répondu Saahithyan Vigneswaran 2016-06-22 06:23:30

fonctionné pour moi comme un charme:

  1. j'ai vérifié les avertissements qui sont apparus quand j'ai construit le projet
  2. certains d'entre eux ont mentionné quelque chose au sujet du conflit de version d'Assemblée. Visual studio a suggéré que j'ai cliqué sur l'avertissement et que J'ai frappé Enter. Une fenêtre popup offrait de régler automatiquement le problème et c'est ce que j'ai fait.
  3. Problème résolu!
0
répondu Charalabos 2016-10-20 21:32:49

ce bug bizarre m'est arrivé lors de l'importation d'un projet Xamarin dans VS15. Aucune des solutions énumérées ici n'a fonctionné pour moi. Après une journée de frustration, j'ai également rencontré un problème similaire à celui-ci: Visual Studio "trouver" résultats "aucun fichier n'a été trouvé pour regarder. Trouver cessé de progresser."

en cliquant sur 'find all' dans la boîte de dialogue de recherche, un popup m'a informé que les autres fichiers ne pouvaient pas être recherchés. alors j'ai pensé que la raison " aller à definition ' n'a pas fonctionné était dû au même bug, comme chercher des définitions dans le même fichier a fonctionné.

la solution bizarre dans le lien ci-dessus (en appuyant sur Ctrl+Scroll Lock ou Ctrl+Break à quelques reprises) a résolu les deux problèmes pour moi.

La coloration

du code (qui ne fonctionnait pas lorsque la fonctionnalité "passer à la définition" a été brisée) a également été immédiatement retournée.

0
répondu Jake Walden 2017-05-23 12:10:06

après avoir fait un "devenv.exe / resetuserdata", mon VAssistX échoue, donc, en fait, cela me rappelle que VAssistX peut résoudre le problème par une implémentation Goto (Alt+G) .

0
répondu macrod 2017-03-23 08:14:00

mon problème était que j'ai (semi-accidentellement) changé la propriété Build action de la problématique .fichier cs à Content . Le ramener à Compile a fait l'affaire, ce qui est logique.

0
répondu okkko 2017-07-20 10:53:34

Après, j'ai lu que ce problème a été corrigé dans le compilateur roslyn ( voir ce problème sur GitHub ), j'ai mise à jour de Visual Studio à partir de la version 15.0.x à 15.3.1. Il fonctionne comme un charme maintenant.

0
répondu Franz Wimmer 2017-08-19 15:06:26

pour moi la navigation ne fonctionne tout simplement pas SOLUTIONS XAMARIN. Que les suggestions qui ici N'a pas FONCTIONNE. :( Devenv.exe / resetuserdata ne fonctionne pas pour moi.

ma solution était: Recréer les solutions, le projet, les dossiers et les travaux. Aucune importation. Détail: mon projet était sur le VS 2015, l'erreur était sur le VS 2017.

0
répondu Voumir 2017-09-22 14:09:18

récemment mis à niveau à VS 2017 15.5.0 et est tombé sur ce problème. J'ai essayé:

  1. suppression du symbole cache
  2. suppression de mon .vs dossier.
  3. reconstruction solution.
  4. Running devenv / resetuserdata

Malheureusement, rien de tout cela n'a fonctionné. J'ai remarqué que cela ne se produisait que sur certains projets et pas sur d'autres. Sur le projet où il a échoué, j'ai fini en passant toutes les versions de framework à 4.7.1, j'ai fait un nettoyage/reconstruction et mon "Go to Definition" a recommencé à fonctionner.

0
répondu billb 2017-12-06 17:04:30

j'ai eu cette erreur pendant un certain temps maintenant jusqu'à ce que je ne pouvais plus la supporter, donc j'ai essayé toutes les solutions possbile ci-dessus, mais aucun n'a fonctionné pour moi. J'ai remarqué que l'erreur ne s'affiche sur un certain projet (comme ce que l'utilisateur mentionné ci-dessus), mais pas sur d'autres projets. Pour cette raison, puisque rien ne fonctionne, j'ai cloné mon projet à nouveau sur un autre dossier et il a recommencé à fonctionner.

0
répondu user742102 2018-02-28 10:34:57

j'utilise VS 2017 15.7.5 et cela a cessé de fonctionner pour certains fichiers de test. J'ai remarqué qu'ils étaient tous les nouveaux que j'avais récemment ajoutés et que dans SOlution Explorer il n'y avait pas de flèche disponible pour étendre et voir les propriétés / méthodes.

je les ai exclus et ensuite réinsérés dans mon projet et la commande de définition goto a fonctionné à nouveau.

0
répondu Liam 2018-07-27 12:53:50

pour une raison quelconque, mon nom d'appel.XAML.VB class avait été exclu du projet (cela semblait se produire après que j'ai eu la dernière version de TFS). J'ai juste dû l'inclure à nouveau et ça marche maintenant!

-1
répondu brandonstrong 2017-02-23 22:00:24