Visual Studio (et peut-être TFS) a en quelque sorte (je pense peut-être lors d'une fusion de contrôle de source) devenir confus sur le chemin d'un projet dans ma solution.
Il pense que c'est ici (exemples de chemins pour plus de simplicité):
C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj
alors qu'en fait, le fichier projet se trouve ici:
C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj
Je ne peux pas pour la vie de moi faire reconnaître le bon emplacement. J'ai essayé:
Suppression et réajout du projet à partir de l'emplacement correct. Un message d'erreur apparaît disant
The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found
.Éditer manuellement le fichier .sln pour garantir que toutes les références
ExampleProjectCorrect.csproj
ont les chemins corrects.Faire une recherche dans les fichiers du répertoire de la solution pour les chemins corrects et incorrects, pour essayer de localiser où Studio cache le chemin incorrect.
Suppression des répertoires de cache pour VS et TFS
Je m'arrache les cheveux parce que je ne peux pas recréer la solution car elle n'a presque aucune différence dans 100 projets et est liée au contrôle de code source avec plusieurs autres développeurs qui y travaillent.
Quelqu'un peut-il me diriger dans la bonne direction pour savoir où il stocke ce chemin incorrect et / ou comment le réinitialiser pour que la fichue chose se charge correctement?
la source
Réponses:
Il fait toujours référence au mauvais répertoire. Peut-être que la reliure pourrait fonctionner à ce stade, mais je n'ai pas essayé cela. Rechargez votre projet et vous devriez être prêt à partir.
la source
.suo
fichier n'est peut-être pas là où vous le pensez. Supprimez celui qui se trouve à côté de votre.sln
fichier (n'oubliez pas de "afficher les fichiers cachés") et il y en a aussi un qui se cache dans un sous-répertoire à.\.vs\[solution_name]\v14\.suo
. Une fois que je les ai tous les deux, je pourrais ajouter à nouveau le projet. Oups - crédit partiel à @DanielLeiszen (vient de remarquer qu'il a commenté la même chose)La simple suppression du
.suo
fichier de solutions a fonctionné pour moi.la source
<SolutionDir>\.vs\<SolutionName>\<VsVersion>\.suo
fonctionne pour moi.J'étais confronté à ce problème après avoir effectué une migration de Visual Source Safe 2005 vers TFS 2012. Je ne pouvais pas attendre la sortie de "l'assistant de conversion" dans les prochaines semaines, alors j'ai juste lancé VSSConvert.exe. Cela a pris environ 6 ans d'histoire et l'a déplacé dans TFS .. alors que je n'ai pas eu l'historique réel de la chronologie .. J'ai reçu un tas d'entrées le même jour avec les commentaires indiquant les enregistrements réels de l'historique. . pas mal.
Donc, après avoir couru toute la nuit (avec succès, oui!), J'avais du mal à charger mes projets comme cette question le disait. Pour une raison quelconque, quelques projets étaient référencés dans un répertoire incorrect. J'ai vérifié le .sln, les fichiers .vsproj, et obtenir les derniers, supprimer la ré-obtention, ajouter la suppression, etc. J'ai essayé tout ce qui est noté ici ... même la mise à niveau de mon espace de travail, ce que je ne suis pas sûr de ce que cela a fait.
ENFIN ... J'ai supprimé les fichiers * .suo et l'alto. Ça a marché.
J'ai passé quelques heures sur celui-ci.
la source
Une solution légèrement différente.
TFS affichait un chemin d'accès inexistant pour une solution particulière. Auparavant, j'avais un ordinateur portable avec un lecteur D: séparé, mais maintenant, je n'ai qu'un lecteur C:. TFS pensait toujours que mon projet était stocké sur D: \ Project \ MikesProject
Je n'avais pas de
.suo
fichier à supprimer, le chemin D: n'était mentionné nulle part dans mes espaces de travail (enterré sous leFile\Source Control\Advanced\Workspaces
menu), TFS a montré que j'avais les derniers fichiers dans mon (qui n'existe plus) D: et TFS dans VS2013 n’avaient pas d’option «Supprimer les mappages» pour ce projet.Mais ce qui a fonctionné était simplement de faire une "Obtenir la dernière version" sur le projet.
Après cela, une nouvelle copie du code a été écrite sur mon lecteur C: et (fait intéressant), maintenant le chemin local a été souligné .
Auparavant, le chemin D: n'était pas montré comme ça.
Impair. Très étrange.
la source
Nous avons eu des problèmes similaires avec les déplacements et les renommages. Supprimer les répertoires locaux, puis le résoudre à nouveau.
la source
Même après avoir supprimé le
.suo
fichier et les.vs
dossiers, j'ai dû modifier le.sln
fichier et supprimer l'ancienne URL relativeSccProjectName#
malgré le fait qu'elleSccLocalPath#
était correcte. Apparemment, VS utilise également le nom comme chemin d'indication.la source
Essayez de supprimer ou de renommer le fichier .suo (y compris l'extension). Ce fichier se trouve au même emplacement que votre fichier de solution. Cela a fonctionné pour moi.
la source
Juste deviner, mais peut-être que certains de vos autres projets font référence à votre projet à partir du mauvais endroit? Dans ce cas, il ne vous reste pas seulement à supprimer et réinsérer le projet dans votre solution, vous devrez également supprimer et recréer les références des projets de référencement (stockés dans leurs fichiers .csproj).
la source
Après avoir essayé de nombreuses recommandations, j'ai supprimé le fichier suo (à nouveau). La dernière fois a fonctionné. Pourquoi cela n'a pas fonctionné plus tôt, je ne sais pas. En général, je trouve que la suppression du fichier suo est l'une des premières étapes que je fais.
la source
J'ai ouvert ma solution de site Web asp.net à partir de ma branche de développement. Ensuite, dans un autre but, j'ai ouvert la même solution depuis la branche principale.
J'ai modifié l'un de mes fichiers .ascx.cs dans la branche dev et défini le point d'arrêt. Lorsque j'ai exécuté le débogueur, tous mes points d'arrêt ont été atteints dans la branche de développement, à l'exception du .ascx.cs qui atteignait la branche principale. Je n'ai pas idée.
J'ai essayé de nettoyer le dossier temporaire mais cela n'a pas fonctionné.
Ce qui a fonctionné:
Fermé toutes les instances de Visual Studio
A ouvert à nouveau la solution de la branche Dev.
Exécutez à nouveau et les points de rupture ont commencé à frapper.
la source
Dans mon cas, j'ai copié le fichier * .sln dans le dossier du projet et changé le chemin du projet dans le fichier * .sln. Seul cela a résolu le problème (vs 2015 sp1, projet winservise).
Supprimer * .suo ne m'aide pas.
la source
Encore une autre solution a fonctionné pour nous - après avoir essayé la suppression de suo et presque tout ce qui est mentionné dans ce fil. Nous avions un projet dans la solution qui montrait une version fantôme du fichier csproj. Nous avons supprimé ce fichier et nos chemins fixés sur un autre projet que nous essayions d'ajouter.
la source
Si vous exécutez votre application Web sous IIS local au lieu d'IISExpress, assurez-vous de cliquer sur le bouton "Créer un répertoire virtuel" en allant dans les propriétés du projet. Une fois cela fait, exécutez "Clean Solution" et "Rebuild Solution".
la source
La suppression des fichiers obj et bin résoudrait le problème ...
la source
Je sais que c'est une vieille ligne. Je viens de traverser le même problème. Nous avons récemment migré le TFS, j'ai donc créé un nouvel espace de travail à mapper vers un nouveau serveur et gardé l'ancien. Chaque fois que j'ouvre une solution censée cibler mon nouvel espace de travail, VS essaie toujours de charger des projets à partir de mon ancien répertoire de mappage, jusqu'à ce que je supprime mon ancien espace de travail.
la source