Wie kann ich TFS-Bindungen vollständig entfernen?

238

Ich habe eine Lösung, die viele Projekte enthält,

Ich möchte die Quellcodeverwaltungsbindungen vollständig entfernen. Wie kann ich das tun?

Update: Ich möchte wirklich eine Lösung und ihre Projekte aus TFS 2005 -> 2008 verschieben. Deshalb entferne ich die Bindungen. Gibt es einen besseren Weg, dies zu tun?

Michael L.
quelle
Ich glaube nicht, dass Sie die Bindungen entfernen und erneut hinzufügen müssen, um auf ein neueres TFS zu aktualisieren. Der 2008-Client ersetzt den 2005-Client vollständig und funktioniert in VS 2005 und 2008 für alte und neue Server.
Bert Huijben
2
Ich habe ein VSIX-Addon erstellt, das TFS-Bindungen entfernt und eine Kopie Ihrer Lösung komprimiert (entfernt auch alle unnötigen Dateien). Siehe visualstudiogallery.msdn.microsoft.com/…
RickAndMSFT
leerer Models-Ordner wurde @ RickAnd-MSFT durcheinander gebracht Ich musste ihn löschen und neu erstellen, sonst funktioniert es großartig. thx
Tom Stickel
@ RickAnd-MSFT das sollte wohl eine Antwort sein
Chris Marisic

Antworten:

268

Datei -> Quellcodeverwaltung -> Erweitert -> Quellcodeverwaltung ändern und dann alle Projekte und die Lösung aufheben und / oder trennen.

Dadurch sollten alle Bindungen aus den Lösungs- und Projektdateien entfernt werden. (Danach können Sie den SCC-Anbieter unter Extras -> Optionen -> Quellcodeverwaltung -> Plug-In-Auswahl wechseln.)

Die SCC-Spezifikation schreibt vor, dass alle SCC-Anbieter dieses Verhalten implementieren sollten. (Ich habe es nur für VSS, TFS und AnkhSVN getestet)

Bert Huijben
quelle
4
+1, aber leider bleiben die Elemente in den Projektdateien sowie die .vssscc-Dateien erhalten. Die Lösungsdatei wird jedoch bereinigt. Verwendet VS 2010 Pro, wobei dies das erste TFS-Projekt ist, das wir jemals verwendet haben.
James Skemp
24
Dies setzt voraus, dass Sie eine Verbindung zum ursprünglichen TFS-Server herstellen können.
ATL_DEV
2
Ich habe ein VSIX-Addon erstellt, das TFS-Bindungen entfernt und eine Kopie Ihrer Lösung komprimiert (entfernt auch alle unnötigen Dateien). Siehe visualstudiogallery.msdn.microsoft.com/…
RickAndMSFT
Mein TFS-Arbeitsbereich wurde (wahrscheinlich) aufgrund von Inaktivität entfernt. Aber ich konnte immer noch Bindungen entfernen. Beim ersten Mal hat es jedoch nicht funktioniert. Das zweite Mal, als ich überprüfte, waren alle Bindungen noch da. Das zweite Mal habe ich alles gelöst, aber es hat funktioniert.
DerpyNerd
152

Ich habe in Visual Studio kein Menü Datei -> Quellcodeverwaltung, da ich bei dieser Installation von Visual Studio noch nie TFS verwendet habe.

Mein Problem war, dass ich eine Lösung aus dem Internet öffnete und der ursprüngliche Autor vergessen hatte, die TFS-Bindungen zu entfernen. Jedes Mal, wenn ich die Lösung öffne, wurde ein nerviges Popup-Sprichwort angezeigt

"Go Offline

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

The solution will be opened offline."

Um dies zu beseitigen, habe ich die .suo-Datei neben der .sln-Datei gelöscht, dann die .sln-Datei im Editor geöffnet und den gesamten Abschnitt gelöscht:

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

Speichern Sie die .sln im Editor und öffnen Sie sie in Visual Studio. Das Problem wurde behoben.

Update: Saveen Reddy hat dafür ein Tool erstellt . Ich habe es aber nicht versucht.

Matt Frear
quelle
3
Das war es, ich hatte auch dieses Popup. Vielen Dank. Aber wenn ich die .suo-Datei entfernt und VS gestartet habe, habe ich meinen Verlauf der geöffneten Dateien verloren. Verschob die .suo-Datei zurück, ich bekam meine geöffneten Dateien zurück. Also musste ich nur den Abschnitt entfernen.
Ibram
Ich hatte ein Projekt, das in VSS zu TFS hinzugefügt wurde, und VS sah VSS weiterhin als Versionsverwaltungsanbieter (obwohl ich die Bindungen entfernt habe, was zugegebenermaßen ein etwas anderes Problem ist). Das Löschen des obigen Codes im Projekt und das erneute Binden an TFS löste das Problem.
333 MHz
Ich hatte Probleme, bis ich meine .suo-Datei gelöscht habe. Erst dann wurde ich gefragt, ob ich die Quellcodeverwaltungsbindungen dauerhaft entfernen möchte.
Zacharydl
In der heutigen Zeit müssen wir dies für diese einfache und gemeinsame Aufgabe tun? Microsoft sollte über Benutzerfreundlichkeit nachdenken ...
Verdammtes Gemüse
1
Funktionierte hervorragend mit VS 2015, nur der TFS-Abschnitt in der SLN-Datei muss entfernt werden
Tony Dong
41

Die einfachste Lösung wäre, Visual Studio zu öffnen, das TFS-Plugin unter Extras> Optionen> Quellcodeverwaltung zu deaktivieren und die zu bereinigende Lösung erneut zu öffnen. Visual Studio fordert Sie auf, Quellcodeverwaltungsbindungen zu entfernen

Johan Buret
quelle
1
Ich habe auch vergessen zu erwähnen, dass dies eine VS 2008-Lösung ist, und ich denke, Ihre Antwort funktioniert nur mit VS 2005.
Michael L
1
Ich habe viele verschiedene Lösungen ausprobiert, aber dies scheint die einfachste und schnellste zu sein (in Visual Studio 2012). Habe bisher an den Lösungen gearbeitet, die ich habe!
olf
Genial! Es ist schnell, einfach und genau das, was ich brauche, um ein Projekt von allen TFS-Bindungen zu befreien.
Andreas
3
Dies scheint 2013 nicht zu funktionieren - das Quellcodeverwaltungs-Plugin ist in der Lösung gespeichert.
Rob
1
Dies hat in VS2013 Ultimate hervorragend funktioniert. Ich habe eine einzelne Lösung von TFS auf SVN umgestellt und dadurch meinen Speck gerettet.
Rob Horton
11

Wenn jemand dies außerhalb des Kontexts der Visual Studio-Anwendung tun muss - beispielsweise über die Befehlszeile -, habe ich ein kleines Tool geschrieben, mit dem die Quellcodeverwaltungsbindungen aus den Lösungs- und Projektdateien entfernt werden. Die Quelle finden Sie hier: https://github.com/saveenr/VS_unbind_source_control

saveenr
quelle
Entschuldigung, aber das hat bei mir nicht funktioniert. Es wurde immer wieder gefragt, ob ich die Verbindung zum neuen Server trennen und die Verbindung zum alten Server wiederherstellen möchte.
ATL_DEV
5

Alter Beitrag, also nur zu den Antworten von @Matt Frear und @Johan Buret hinzufügen. Beide arbeiten .

Aber in Matts Fall Sie auch benötigen diesen (VS 2012) in Notepad / Texteditor zu setzen:

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

Zu jedem Projekt in der Lösungsdatei (.sln).

@ Johans Antwort macht dies effektiv ....

EdSF
quelle
4

Manchmal werden die Bindungsinformationen zwischengespeichert

So löschen Sie den Cache des Team Explorers:

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

Dies kommt von einer Website, die ich jetzt nicht finden konnte. Danke für diesen Kerl für den Tipp.

Kennzeichen
quelle
2

Weiter funktioniert bei mir:

  1. Löschen Sie alle .vssscc- (Lösungsbindung) und .vspscc- (Projektbindung) Dateien
  2. Entfernen Sie den Block GlobalSection (TeamFoundationVersionControl) = preSolution aus der Lösungsdatei

In der projDatei in Tags können auch Informationen zur Quellcodeverwaltung enthalten sein

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

SAK gibt für "Sollte es bereits wissen" an , damit es beibehalten werden kann.

Aspirin
quelle
1

Im Visual Studio 2015,

  1. Entbinden Sie die Lösung und projizieren Sie mit File->Source Control->Advanced->Change Source Control
  2. Entfernen Sie den Cache in C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\6.0
code4j
quelle
Wenn ich den Cache aus dem Ordner lösche, kommt alles gleich zurück, nachdem ich ihn wieder geöffnet habe.
Victor_Tlepshev
0

In VS2017

  1. Gehen Sie im Team Explorer zu Startseite
  2. Klicken Sie im Projektbereich auf Einstellungen
  3. Klicken Sie im Abschnitt Git auf Repository-Einstellungen
  4. Im nächsten Fenster siehe Abschnitt Fernbedienungen . Sie sehen die Option zum Entfernen

NB: Ich überprüfe das für das Git-Repository

reza.cse08
quelle
0

Die andere Option ist

Löschen Sie den Arbeitsbereich

bei Bedarf neu zuordnen

Stellen Sie sicher, dass das Rollback aktiviert ist (Ausstehende Änderungen rückgängig machen).

bevor Sie den Arbeitsbereich entfernen

Dies ist am schnellsten und sichersten

Viel Glück

Girish Konaraddi
quelle
0
  1. Gehen Sie zu Datei -> Quellcodeverwaltung -> Erweitert -> Quellcodeverwaltung ändern (wenn die Quellcodeverwaltung nicht angezeigt wird, klicken Sie im Lösungs-Explorer auf Lösung und versuchen Sie es erneut.)
  2. Lösung und alle Projekte lösen

Klicken Sie nun mit der rechten Maustaste auf Lösung und Sie sehen "Projekt zur Quellcodeverwaltung hinzufügen". Wenn Sie das Projekt erneut zur Quellcodeverwaltung hinzufügen möchten, werden möglicherweise einige Fehler angezeigt, die Sie auffordern, den Lösungsordner in TFS zu ändern. Dies liegt daran, dass Ihre Lösung noch einige Zuordnungen in einem Arbeitsbereich aufweist. Zuordnung entfernen oder Arbeitsbereich löschen. Jetzt ist Ihre Lösung vollständig von TFS oder Arbeitsbereichen getrennt und nicht zugeordnet.

Ali Dehghani
quelle
-1

Hier finden Sie ein weiteres Tool (einschließlich Quellcode), mit dem Sie sowohl den SCC-Footprint aus den Lösungs- und Projektdateien als auch aus den Dateien .vssscc und .vspscc entfernen können. Außerdem werden die Ausgabe und andere konfigurierbare Verzeichnisse entfernt.

Hth

Stefan

Stefan
quelle