web-dev-qa-db-fra.com

Le fichier de projet a été déplacé, a été renommé ou n'est pas sur votre ordinateur

Je reçois cette erreur lorsque j'essaie de charger un projet VS 2008 à partir du contrôle de source TFS:

Le fichier de projet a été déplacé, renommé ou n'est pas sur votre ordinateur

Après avoir cliqué sur OK, le projet indique "non disponible" ..__ Quel est le problème? Comment résoudre ça? Je n'ai jamais eu ce problème avant. Certains blogs ont dit de supprimer le fichier .suo mais je ne parviens pas à localiser le fichier .suo. J'ai supprimé l'intégralité du projet sur mon ordinateur local afin d'en créer un nouveau lors de la prochaine ouverture, mais j'obtiens toujours la même erreur.

134
sineas

Ce qui aide généralement à résoudre ce problème, c'est la suppression de l'option utilisateur de la solution, également appelée "SUO".

VS jusqu'en 2013

Dans l'ancien VS, il est stocké sous la forme d'un SolutionName.suo "caché" dans le même dossier que le fichier .sln principal. 

VS2015 ou version ultérieure  

Dans VS2015, la même date a été déplacée dans un dossier "caché" .vs dans le même dossier que le fichier .sln principal.

242
Stanley.Goldman

Je viens de rencontrer ce problème en utilisant VS 2013 après avoir renommé un projet. La réponse de Stanley m'a guidé vers la solution:

Fermez VS - supprimez le fichier .suo - redémarrez VS.

36
AndreasV

Supprimez le fichier .suo de manière spéciale.

  1. Ne laissez pas la solution ouverte lorsque vous supprimez le fichier .suo masqué.
  2. Redémarrez VisualStudio.
  3. Ouvrez la solution et ajoutez un projet sans message d'erreur.
19
Mikhael Loo

TFS fonctionne comme la plupart des packages de contrôle de code source: il se souvient de ce qu'il a mis sur votre ordinateur. Ainsi, lorsque vous obtenez "Get Latest", il vous suffit d'obtenir les modifications depuis votre dernier "Get" au lieu de tout obtenir absolument.

Cela a un inconvénient: si vous supprimez ou renommez les fichiers locaux sur votre disque, TFS ne saura pas que vous l'avez fait et pensera toujours qu'ils sont là où il les a laissés.

Si vous avez ensuite "Get Latest", cela ne vous gênera pas de mettre à jour les fichiers manquants.

Vous risquez alors d'obtenir toutes sortes d'erreurs de "fichier manquant", de la part de TFS et de tout autre outil recherchant les fichiers.

Pour le contourner, vous devez:

  • Si vous pensez que vous ne souhaitez pas perdre de modifications, copiez le dossier source sur votre PC en tant que sauvegarde au cas où!
  • Faites un clic droit sur le projet (dans l'Explorateur de solutions) ou le dossier (dans le contrôle de code source)
  • Choisissez "Obtenir une version spécifique" dans le menu contextuel.
  • Choisissez d’obtenir la «dernière version» et cochez l’option qui dit (quelque chose comme) «forcer l’obtention des fichiers déjà dans votre espace de travail», ce qui indique à TFS d’oublier ce qu’il «sait» et de récupérer tous les fichiers quand même.

Si vous avez des fichiers modifiés localement (écriture), soyez prudent. Il existe une deuxième option qui les écrasera en perdant vos modifications. Mais vous avez la sauvegarde, alors vous devriez être en sécurité. Il est généralement préférable de cocher cette option également pour vous assurer que tout votre code source est complètement à jour. (Mais évidemment seulement si cela ne vous dérange pas de perdre les changements locaux!)

Lorsque vous cliquez sur OK, tous les fichiers du projet seront forcés sur votre lecteur local et devraient corriger le problème.

10
Jason Williams

Bien que le défaut de VS soit bien connu, nous pouvons le gérer!

  • Ouvrez le fichier de solution en mode édition

  • Modifiez le chemin relatif pour qu'il corresponde au chemin physique modifié/déplacé.

    SccProjectUniqueName1 = Source\\Order\\Order.csproj
    SccProjectName1 = Order.ApplicationService
    SccLocalPath1 = Order.ApplicationService
    
  • Assurez-vous également que le chemin relatif du projet référant est correct.

    Project("{asdasd-301F-11D3-BF4B-asdasd}") = "Order",
            "Source\Order\Order.csproj", "{E25641BC-C990-40E2-8876-08AE8728F763}"
    EndProject
    
9

Essayez d’ouvrir le fichier .csproj ou .vbproj au lieu du fichier .sln. Ce qui est probablement arrivé est que le fichier .sln (solution) a une référence de fichier absolue (au lieu d’un chemin relatif) vers le ou les projets les plus récents. Vous devrez peut-être recréer le fichier .sln ou le modifier à la main.

6
Lilith River

Dans mon cas, la suppression du fichier .suo était insuffisante. J'ai découvert que la configuration de mon espace de travail comportait une erreur. J'ai découvert et résolu le problème avec ces étapes:

  1. Dans Team Explorer, "Gérer les espaces de travail ..."

    enter image description here

  2. Cliquez sur "Modifier ..."

    enter image description here

  3. Corrigez la valeur sous "Dossier local"

    enter image description here

  4. Enfin, supprimez les fichiers .suo concernés par la réponse acceptée.

3
Chris Schiffhauer

L'option la plus simple élaborée pour moi est la suivante:

  1. Faites un clic droit sur le projet et supprimez le projet "non chargé" ou "non disponible"
  2. Faites un clic droit sur la solution et ajoutez "Projet existant"
3
Arun Vinoth

J'ai trouvé le plus facile de créer un nouveau fichier Solution sln.

2
David

Effacez les mappages de votre espace de travail (Fichier -> Contrôle de la source -> Espaces de travail). Modifiez l'espace de travail et effacez tous les mappages (plus de répercussion) ou recherchez celui qui est associé à ce chemin d'accès au serveur. Puis ouvrez l'Explorateur de contrôle de source et remappez. Double-cliquez sur le SLN dans l'Explorateur de contrôle de code source. Vous n'êtes pas tout à fait sûr de ce qui s'est passé ou de l'état dans lequel vous avez réussi à entrer, mais cela devrait vous faire bouger à nouveau.

1
Ryan Cromwell

J'ai rencontré ce problème et j'ai pu le résoudre en obtenant les fichiers .rptproj d'un collègue et en les copiant dans mon répertoire local. Le projet a ensuite pu être rechargé.

1
Sayward

Solution pour cela

  1. Renommez le dossier du projet
  2. Définir une version spécifique et forcer à entrer dans TFS
  3. supprime les options cachées et en lecture seule dans le dernier dossier (pas celui qui est renommé)
  4. Maintenant, vous pouvez ouvrir le projet sans aucun problème
0
Saman Jayatilake

Parfois, même si vous avez modifié .sln et .csproj et le nom manuellement, vous pouvez oublier de vérifier le nom du dossier contenant le projet

0
SMPH

J'ai passé beaucoup de temps à essayer de résoudre ce problème. J'ai effectué ces étapes: renommer le projet, renommer les espaces de noms, renommer le dossier du projet, modifier le fichier .sln, modifier le fichier .suo masqué. Le projet a été chargé, mais il était méconnaissable pour TFS! Enfin j'ai trouvé ce guide .

Si vous utilisez Resharper et que TFVC est votre contrôle de version, procédez comme suit:

  • Cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions, sélectionnez Renommer et entrez le nouveau nom.

  • Cliquez à nouveau avec le bouton droit sur le projet et sélectionnez Propriétés. Changez le "Nom de l'assembly" et "L'espace de noms par défaut" sous l'onglet Application.

  • Cliquez à nouveau avec le bouton droit sur le projet et sélectionnez Refactoriser -> Ajuster les espaces de noms. Acceptez les modifications.

  • Modifier les propriétés AssemblyTitle et AssemblyProduct dans Properties/AssemblyInfo.cs

  • Supprimer les répertoires bin et obj dans l'Explorateur Windows

  • Ouvrez l'explorateur de contrôle de code source et renommez le répertoire du projet. Cela fermera la solution. Laissez-le être fermé.

  • Ouvrez le fichier SLN (avec un éditeur de texte tel que Notepad ++) et modifiez le chemin d'accès au projet (il doit y avoir plusieurs emplacements).

  • Ouvrez à nouveau la solution. Nettoyer et reconstruire le projet.

0
ABS

Faites un clic droit sur le projet non disponible et modifiez le fichier du projet ... vous trouverez probablement un chemin de fichier codé en dur ou virtuel qui ne correspond pas à l'emplacement où vous avez extrait le projet.

La gentillesse,

Dan

0
Daniel Elliott