Comment puis-je supprimer complètement les liaisons TFS

238

J'ai une solution qui contient beaucoup de projets,

Je souhaite supprimer complètement les liaisons de contrôle de code source, comment puis-je procéder?

Mise à jour: Ce que je veux vraiment faire, c'est déplacer une solution et ses projets de TFS 2005 -> 2008. C'est pourquoi je supprime les liaisons, y a-t-il une meilleure façon de le faire?

Michael L
la source
Je ne pense pas que vous deviez supprimer et rajouter les liaisons pour passer à un TFS plus récent. Le client 2008 remplace entièrement le client 2005 et fonctionne dans VS 2005 et 2008 pour les anciens et les nouveaux serveurs.
Bert Huijben
2
J'ai créé un addon VSIX qui supprime les liaisons TFS et zippe une copie de votre solution (supprime également tous les fichiers inutiles). Voir visualstudiogallery.msdn.microsoft.com/…
RickAndMSFT
Le dossier des modèles vides a été foiré @ RickAnd-MSFT J'ai dû le supprimer et le recréer sinon il fonctionne très bien. thx
Tom Stickel
@ RickAnd-MSFT qui devrait probablement être une réponse
Chris Marisic

Réponses:

268

Fichier -> Contrôle de source -> Avancé -> Modifier le contrôle de source, puis dissocier et / ou déconnecter tous les projets et la solution.

Cela devrait supprimer toutes les liaisons des fichiers de solution et de projet. (Après cela, vous pouvez changer de fournisseur SCC dans Outils -> Options -> Contrôle de source -> Sélection du plug-in).

La spécification SCC prescrit que tous les fournisseurs SCC doivent implémenter ce comportement. (Je l'ai testé uniquement pour VSS, TFS et AnkhSVN)

Bert Huijben
la source
4
+1, mais malheureusement, cela conserve les éléments dans les fichiers de projet, ainsi que les fichiers .vssscc. Cependant, le fichier de solution est nettoyé. Utilisé VS 2010 Pro, ce qui est le premier projet TFS que nous ayons jamais utilisé.
James Skemp
24
Cela suppose que vous pouvez vous connecter au serveur TFS d'origine.
ATL_DEV
2
J'ai créé un addon VSIX qui supprime les liaisons TFS et zippe une copie de votre solution (supprime également tous les fichiers inutiles). Voir visualstudiogallery.msdn.microsoft.com/…
RickAndMSFT
Mon espace de travail TFS a été supprimé en raison de l'inactivité (probablement). Mais j'ai quand même réussi à supprimer les fixations. Cependant, cela n'a pas fonctionné la première fois. La deuxième fois que j'ai vérifié toutes les fixations étaient toujours là. La deuxième fois, j'ai tout délié.
DerpyNerd
152

Je n'ai pas de menu Fichier -> Contrôle de code source dans Visual Studio car je n'ai jamais utilisé TFS avec cette installation de Visual Studio.

Mon problème était que j'ouvrais une solution sur Internet et que l'auteur d'origine avait oublié de supprimer les liaisons TFS, donc chaque fois que j'ouvrais la solution, j'obtenais un popup ennuyeux disant

"Go Offline

The Team Foundation Server http://some-other-guys-tfs-server/ 
is currently unavailable.

The solution will be opened offline."

Pour se débarrasser de cela, j'ai supprimé le .suo à côté du fichier .sln, puis ouvert le fichier .sln dans le bloc-notes et supprimé cette section entière:

GlobalSection(TeamFoundationVersionControl) = preSolution
    SccNumberOfProjects = 2
    SccEnterpriseProvider = {xxxxx}
    SccTeamFoundationServer = http://some-other-guys-tfs-server/
    SccLocalPath0 = .
    SccProjectUniqueName1 = xxDemo\\xxDemo.csproj
    SccProjectName1 = xxDemo
    SccLocalPath1 = xxDemo
EndGlobalSection

Enregistrez le fichier .sln dans le bloc-notes, puis ouvrez-le dans Visual Studio, problème résolu.

Mise à jour: Saveen Reddy a créé un outil pour ce faire. Je ne l'ai pas essayé cependant.

Matt Frear
la source
3
C'était ça, j'avais aussi ce popup. Merci. Mais si j'ai supprimé le fichier .suo et démarré VS, j'ai perdu l'historique de mes fichiers ouverts. J'ai déplacé le fichier .suo, j'ai récupéré mes fichiers ouverts. Il me fallait donc simplement supprimer la section.
ibram
J'avais un projet qui était dans VSS ajouté à TFS, et VS continuait à voir VSS comme fournisseur de contrôle de source (même si j'ai supprimé les liaisons, ce qui est certes un problème quelque peu distinct). La suppression du code ci-dessus dans le projet et la nouvelle liaison avec TFS ont résolu le problème.
333Mhz
J'avais des problèmes jusqu'à ce que je supprime mon fichier .suo. Ce n'est qu'à ce moment-là qu'il m'a demandé si je voulais supprimer définitivement les liaisons de contrôle de source.
zacharydl
De nos jours, nous devons le faire pour cette tâche simple et courante? Microsoft devrait penser à la convivialité ...
Damn Vegetables
1
Fonctionne très bien avec VS 2015, seul le besoin est supprimé de la section TFS dans le fichier .sln
Tony Dong
41

La solution la plus simple serait d'ouvrir Visual Studio, de désactiver le plug-in TFS dans Outils> Options> Contrôle source et de rouvrir la solution que vous souhaitez nettoyer. Visual Studio demandera de supprimer les liaisons de contrôles source

Johan Buret
la source
1
J'ai aussi oublié de mentionner qu'il s'agit d'une solution VS 2008 et je pense que votre réponse ne fonctionne qu'avec VS 2005.
Michael L
1
J'ai essayé de nombreuses solutions différentes, mais cela semble être la plus simple et la plus rapide (dans Visual Studio 2012). J'ai travaillé jusqu'à présent sur les solutions que j'ai!
OLF
Impressionnant! C'est rapide, c'est simple, c'est exactement ce dont j'ai besoin pour nettoyer un projet de toutes les liaisons TFS.
Andreas
3
Cela ne semble pas fonctionner en 2013 - le plugin de contrôle de source est stocké dans la solution.
Rob
1
Cela a très bien fonctionné pour moi dans VS2013 Ultimate. Je déplaçais une solution unique de TFS vers SVN et cela a sauvé mon bacon.
Rob Horton
11

Si quelqu'un a besoin de le faire en dehors du contexte de l'application Visual Studio - via la ligne de commande par exemple, j'ai écrit un petit outil qui supprimera les liaisons de contrôle de code source des fichiers Solution et Projet. La source est disponible ici: https://github.com/saveenr/VS_unbind_source_control

saveenr
la source
Désolé mais cela n'a pas fonctionné pour moi. Il ne cessait de me demander si je voulais me déconnecter du nouveau serveur et me reconnecter à l'ancien serveur.
ATL_DEV
5

Ancien poste, il suffit donc d'ajouter aux réponses de @Matt Frear et @Johan Buret. Les deux fonctionnent .

Mais dans le cas de Matt, vous devez également les configurer (VS 2012) dans l'éditeur de bloc-notes / texte:

SccProjectName = ""
SccAuxPath = ""
SccLocalPath = ""
SccProvider = ""

Pour chaque projet dans le fichier de solution (.sln).

@ La réponse de Johan le fait efficacement ....

EdSF
la source
4

Parfois, les informations de liaison sont mises en cache

Pour vider le cache de Team Explorer:

Go to C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\2.0
Delete or rename the Cache folder.

Cela vient d'un site Web que je ne pouvais pas trouver maintenant. Merci pour ce gars pour l'astuce.

marque
la source
2

Fonctionne ensuite pour moi:

  1. Supprimez tous les fichiers .vssscc (liaison de solution) et .vspscc (liaison de projet)
  2. Supprimer le bloc GlobalSection (TeamFoundationVersionControl) = preSolution du fichier de solution

Il pourrait également y avoir des informations concernant le contrôle de source dans le projfichier dans les balises

<SccProjectName>SAK</SccProjectName> <SccLocalPath>SAK</SccLocalPath> <SccAuxPath>SAK</SccAuxPath> <SccProvider>SAK</SccProvider>

SAK indique "devrait déjà savoir" , afin qu'il puisse être conservé.

Aspirine
la source
1

Dans Visual Studio 2015,

  1. Dissociez la solution et projetez par File->Source Control->Advanced->Change Source Control
  2. Supprimer le cache dans C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\6.0
code4j
la source
Lorsque je supprime le cache du dossier, tout revient immédiatement après ma réouverture vs.
Victor_Tlepshev
0

Dans VS2017

  1. aller à l'accueil dans Team Explorer
  2. Cliquez sur Paramètres dans la section projet
  3. Cliquez sur Paramètres du référentiel dans la section Git
  4. Dans la fenêtre suivante, voir la section Télécommandes . vous verrez l'option de suppression

NB: je vérifie que pour le dépôt git

reza.cse08
la source
0

L'autre option est

Supprimer l'espace de travail

remapper si nécessaire

Assurez-vous de vérifier, annuler (Annuler les modifications en attente)

avant de supprimer l'espace de travail

C'est le plus rapide et le plus sûr

Bonne chance

Girish Konaraddi
la source
0
  1. Allez dans Fichier -> Contrôle de source -> Avancé -> Modifier le contrôle de source (si le contrôle de source de changement n'apparaît pas, cliquez sur la solution dans l'explorateur de solutions, puis réessayez)
  2. Dissocier la solution et tous les projets

Maintenant, faites un clic droit sur la solution et vous verrez "Ajouter un projet au contrôle de source". si vous souhaitez ajouter à nouveau le projet au contrôle de code source, vous risquez de rencontrer des erreurs vous demandant de modifier le dossier de la solution sur TFS. cela se produit parce que votre solution a encore du mappage dans un espace de travail. supprimer le mappage ou supprimer l'espace de travail. maintenant, votre solution est complètement indépendante et non mappée de TFS ou des espaces de travail.

Ali Dehghani
la source
-1

Ici vous pouvez trouver un autre outil (y compris le code source) pour supprimer à la fois l'empreinte SCC des fichiers de solution et de projet et des fichiers .vssscc et .vspscc. De plus, il supprime la sortie et les autres répertoires configurables.

Hth

Stefan

Stefan
la source