Wie mache ich eine Lösung als saubere Kopie ohne Zuordnung zu TFS? Das Problem ist, dass diese Meldung angezeigt wird, wenn ich versuche, sie zu öffnen. Ich möchte es wie gewohnt ohne TFS-Verbindung öffnen.
visual-studio
tfs
der Meister
quelle
quelle
Führen Sie die folgenden zwei Schritte aus, um die TFS-Quellcodeverwaltungsbindung vollständig zu entfernen:
*.vssscc
und*.vspscc
Erweiterungen..sln
Datei Ihrer Lösung im Editor und suchen und entfernen Sie denGlobalSection(TeamFoundationVersionControl)
Abschnitt.Weitere Details unter Referenz Link
quelle
Bearbeiten Sie die Lösungsdatei und entfernen Sie den folgenden Abschnitt. Es wird nicht dasselbe sein, aber es wird ähnlich sein.
Hinweis : Um die Lösungsdatei zu bearbeiten, gehen Sie zum Projektordner und öffnen Sie die
YouSolutionName.sln
Datei mit dem Editor.quelle
Ich habe nicht genug Ruf, um einen Kommentar abzugeben, wollte aber nur hinzufügen, dass Tabishs Lösung tatsächlich korrekt funktioniert, um die Lösung vollständig aus der Quellcodeverwaltung zu entfernen, insbesondere wenn der TFS-Server aus dem einen oder anderen Grund nicht erreichbar ist (z. B. wenn Sie einen heruntergeladen haben) Projekt, das der Autor vor dem Hochladen nicht aus seiner eigenen Quellcodeverwaltung entfernt hat).
Um jedoch alle Spuren der Quellcodeverwaltung vollständig aus dem Projekt zu entfernen und die Warnungen zu vermeiden, die in den anderen Kommentaren zu dieser Antwort vermerkt sind (z. B. "Die Zuordnungen für die Lösung konnten nicht gefunden werden ..."), müssen Sie auch die entfernen Die folgenden Zeilen aus jeder Projektdatei in der Lösung (anscheinend befanden sich diese in früheren Versionen von VS in der Lösungsdatei, aber in VS2017 befinden sie sich in der Projektdatei für jedes Projekt in der Lösung - z. B. [Projekt] .csproj):
Vielen Dank an die markierte Antwort und andere Kommentare hier für den Hinweis:
Visual Source Safe - Entfernen von Bindungen aus der Lösung ohne Öffnen in Visual Studio
Die Kombination mit Tabishs Antwort scheint die vollständigste Methode zu sein, um eine Lösung manuell aus der Quellcodeverwaltung zu entfernen.
quelle
Um die Bindung zu entfernen, können Sie Visual Studio verwenden: Menü Datei / Quellcodeverwaltung / Erweitert / Quellcodeverwaltung ändern.
Sie können dies auch selbst tun, indem Sie SCC ... aus sln und csproj entfernen.
Wenn Sie häufig Quelldateien exportieren, können Sie ExportSrc verwenden . Es gibt viele Optionen wie das Entfernen der TFS-Bindung (standardmäßig aktiviert).
quelle
Die meisten Antworten lieferten eine Lösung, aber ich würde lieber eine Lösung von Visual Studio 2017 verwenden.
Gehen Sie in der Menüleiste von Visual Studio zu Team und wählen Sie Verbindung vom Team Foundation Server trennen . Das ist es.
quelle
Ich habe gerade eine Sammlung von TeamFoundation-Projekten nach einem M & A-Buyout und einem Technologietransfer geerbt. Es gab mehr als 30 Lösungen und eine Menge * .vssscc- und * .vspscc-Dateien.
Basierend auf den obigen Eingaben aller habe ich eine PowerShell-Funktion geschrieben, um einen angegebenen Stammordner zu rekursieren, die Dateien zu löschen und dann die Lösungsdateien zu bearbeiten, um den Abschnitt TeamFoundationVersionControl zu entfernen.
Verwendung ist
Remove_TFSfiles "pathname" $booleanflag
.Verwenden Sie
$false
(verwendet -whatif) , um zu sehen, welche Dateien betroffen sind :Remove_TFSfiles "C:\MyDevFolder" $false
Verwenden Sie zum Löschen dieser Dateien Folgendes
$true
:Remove_TFSfiles "C:\MyDevFolder" $true
Hier ist die Funktion:
Function Remove_TFSfiles { param( [string]$FolderName = $(throw "-FolderName is required."), [bool]$RemoveFiles = $(throw "-RemoveFiles (either $true or $false) is required.") ) $TFSExtensions = '*.vspscc', '*.vssscc' if ($RemoveFiles) { Get-ChildItem -path $FolderName -force -include $TFSExtensions -Recurse | Remove-Item -Force # Now iterate through any solution files, and whack the TeamFoundationVersionControl section Get-ChildItem -Path $FolderName -Filter "*.sln" -Recurse | ForEach-Object { $slnFilename = $_.Fullname Write-Host -NoNewline "Editing $slnFilename... " $File = Get-Content $slnFilename -raw $Filestr = [regex]::escape("" + $File + "") # The regex escapes must themselves be meta-escaped, therefore "\(" becomes "\\" + "\(" = "\\\(". Did I mention I hate regex? $Result = $Filestr -replace "\\tGlobalSection\\\(TeamFoundationVersionControl\\\).*?EndGlobalSection\\r\\n", "" $result = [regex]::unescape($result) Set-ItemProperty $slnFilename IsReadOnly $false $result | Set-Content $slnFilename Write-Host "Done" } Write-Host -f red "Finished actually removing files and editing *.sln files" } else { Get-ChildItem -path $FolderName -force -include $TFSExtensions -Recurse | Remove-Item -WhatIf Write-Host -f green "Finished pretending to remove files" # Now iterate through any solution files, and whack the TeamFoundationVersionControl section Get-ChildItem -Path $FolderName -Filter "*.sln" -Recurse | ForEach-Object { $slnFilename = $_.Fullname Write-Host "Not Editing $slnFilename" } } }
quelle