web-dev-qa-db-fra.com

Visual Studio récupérant un chemin incorrect vers un projet quelque part

Visual Studio (et éventuellement TFS) est en quelque sorte devenu confus (je pense que lors d’une fusion de contrôle de code source) au sujet du chemin d’un projet au sein de ma solution.

Il pense que c'est ici (exemples de chemins pour simplifier):

C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj

alors qu'en réalité, le fichier de projet se trouve ici:

C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj

Je ne peux pas pour la vie de le faire reconnaître le bon emplacement. J'ai essayé:

  • Supprimer et ré-ajouter le projet à l'emplacement correct. Un message d'erreur s'affiche, indiquant The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found.

  • Éditez manuellement le fichier .sln pour vous assurer que toutes les références à ExampleProjectCorrect.csproj ont les chemins corrects.

  • Effectuez une recherche dans les fichiers du répertoire de la solution à la fois 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

J'arrache les cheveux parce que je ne peux pas recréer la solution car elle n'a presque pas changé et 100 projets sont liés. Elle est liée au contrôle de source avec plusieurs autres développeurs qui travaillent dessus.

Est-ce que n'importe qui peut me diriger dans la bonne direction quant à l'endroit où il stocke ce chemin incorrect et/ou comment le réinitialiser afin que la fichue chose se charge correctement?

93
Charlie Drewitt
  1. Allez à Gérer les espaces de travail (via le menu Fichier/Contrôle de code source ou le menu déroulant d’espace de travail dans l’Explorateur de contrôles source)
  2. sélectionnez edit pour votre espace de travail.
  3. Vous devriez voir, sous les dossiers de travail, un mappage du répertoire source Control avec l'ancien/mauvais répertoire de projet.
  4. Sélectionnez-le et cliquez sur remove .
  5. Fermez VS et supprimez le fichier suo. 

Il fait toujours référence au mauvais répertoire. La reliure pourrait peut-être fonctionner à ce stade mais je ne l'ai pas essayé. Rechargez votre projet et vous devriez être prêt à partir.

90
Benjamin Potts

Supprimer simplement le fichier solutions .suo a fonctionné pour moi.

30
ThePower

Je faisais face à ce problème après avoir effectué une migration de Visual Source Safe 2005 vers TFS 2012. Je ne pouvais pas attendre la fin de "l'Assistant de conversion" dans les prochaines semaines, alors je viens d'exécuter VSSConvert.exe. Cela a pris environ 6 ans d’histoire et l’a transféré dans TFS .. alors que je n’ai pas reçu l’historique chronologique réel… j’ai reçu un grand nombre d’entrées le même jour avec les commentaires indiquant les enregistrements réels de l’histoire. . pas mal.

Donc, après avoir passé toute la nuit (avec succès, oui!), J'avais du mal à charger mes projets, comme l'indiquait cette question. Pour une raison quelconque, quelques projets étaient référencés dans un répertoire incorrect. J'ai vérifié les fichiers .sln, .vsproj, et les dernières nouveautés, la suppression de la récupération, l'ajout de la suppression, etc. J'ai tout essayé comme indiqué ici ... même la mise à niveau de mon espace de travail, ce que je ne sais pas vraiment.

FINALEMENT ... J'ai supprimé les fichiers * .suo et l'alto. Ça a marché. 

J'ai passé quelques heures sur celui-ci.

12
hanzolo

Nous avons eu des problèmes similaires avec les déplacements et les renommements… .. Suppression des répertoires locaux, puis résolution à nouveau.

2
Tony Hopkinson

Essayez de supprimer ou de renommer le fichier .suo (y compris son extension). Ce fichier se trouve au même emplacement que votre fichier de solution. Cela a fonctionné pour moi.

1
Mandeep Janjua

Même après avoir supprimé le dossier .suo et les dossiers .vs, je devais éditer le fichier .sln et supprimer l'ancienne URL relative de SccProjectName# malgré le fait que le SccLocalPath# soit correct. Apparemment, VS utilise également le nom comme chemin de repère.

1
Adam

Après avoir essayé de nombreuses recommandations, j'ai supprimé le fichier suo (à nouveau). La dernière fois travaillé. Pourquoi cela n'a pas fonctionné plus tôt je ne sais pas. En général, la suppression du fichier suo est l’une des premières étapes de ma démarche.

0
user3097514

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 ont été fixés sur un autre projet que nous essayions d'ajouter.

0
Rondakay

Si vous utilisez votre application Web sous Local IIS au lieu de IISExpress, assurez-vous de cliquer sur le bouton "Créer un répertoire virtuel" en accédant aux propriétés du projet. Une fois que cela est fait, effectuez "Clean Solution" et "Rebuild Solution".

0
Ajinkya Surve

Ma solution de site Web asp.net a été ouverte à partir de ma branche Dev ..__, puis, pour une autre raison, j'ai ouvert la même solution depuis la branche principale.

J'ai apporté une modification à 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 Dev sauf le fichier .ascx.cs, qui touchait 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 la solution de la branche Dev à nouveau.

Exécutez à nouveau et les points de rupture ont commencé à frapper.

0
gbs

Juste deviner, mais peut-être que certains de vos autres projets font référence à votre projet depuis le mauvais emplacement? Dans ce cas, vous ne devez pas simplement supprimer et réinsérer le projet dans votre solution, vous devez également supprimer et recréer les références des projets de référence (stockés dans leurs fichiers .csproj). 

0
Doc Brown

Dans mon cas, j'ai copié le fichier * .sln dans le dossier du projet et modifié le chemin d'accès au projet dans le fichier * .sln. Seul cela résout le problème (vs 2015 sp1, projet winservise).

Supprimer * .suo ne m'aide pas.

0
Kamerton