Jak stworzyć rozwiązanie jako czystą kopię bez mapowania na TFS? Problem polega na tym, że ten komunikat pojawia się, gdy próbuję go otworzyć. Chcę otworzyć go jak zwykle bez połączenia TFS.
visual-studio
tfs
mistrz
źródło
źródło
Aby całkowicie usunąć powiązanie kontroli źródła TFS, wykonaj następujące dwa kroki:
*.vssscc
i*.vspscc
..sln
plik rozwiązania w Notatniku, znajdź i usuńGlobalSection(TeamFoundationVersionControl)
sekcję.Więcej szczegółów na temat odniesienia link
źródło
Edytuj plik rozwiązania i usuń z niego następującą sekcję. To nie będzie to samo, ale będzie podobne.
Uwaga : aby edytować plik rozwiązania, przejdź do folderu projektu, a następnie otwórz
YouSolutionName.sln
plik w notatniku.źródło
Nie mam wystarczającej reputacji, aby komentować, ale chciałem tylko dodać, że rozwiązanie Tabish w rzeczywistości działa poprawnie, całkowicie usuwając rozwiązanie z kontroli źródła, zwłaszcza gdy serwer TFS jest nieosiągalny z tego czy innego powodu (np. Pobrałeś plik projekt, którego autor nie usunął z własnej kontroli źródła przed przesłaniem).
Aby jednak całkowicie usunąć wszystkie ślady kontroli źródła z projektu i uniknąć ostrzeżeń, które są odnotowane w innych komentarzach do tej odpowiedzi (np. „Nie można znaleźć mapowań rozwiązania ...”), należy również usunąć następujące wiersze z każdego pliku projektu w rozwiązaniu (najwyraźniej znajdowały się one w pliku rozwiązania we wcześniejszych wersjach VS, ale w VS2017 znajdują się w pliku projektu dla każdego projektu w rozwiązaniu - np. [projekt] .csproj):
Dzięki zaznaczonej odpowiedzi i innym komentarzom za zwrócenie na to uwagi:
Visual Source Safe - jak usunąć wiązania z rozwiązania bez otwierania w Visual Studio
Połączenie tego z odpowiedzią Tabish wydaje się być najbardziej kompletną metodą ręcznego usuwania rozwiązania z kontroli źródła.
źródło
Aby usunąć powiązanie, możesz użyć programu Visual Studio: menu Plik / Kontrola źródła / Zaawansowane / Zmień kontrolę źródła.
Możesz także zrobić to samodzielnie, usuwając dowolny SCC ... ze sln i csproj.
Jeśli często eksportujesz pliki źródłowe, możesz użyć ExportSrc . Ma wiele opcji, takich jak usuwanie powiązania TFS (domyślnie włączone).
źródło
Większość odpowiedzi zawierało rozwiązanie, ale wolałbym skorzystać z rozwiązania dostarczonego przez Visual Studio 2017.
Na pasku menu programu Visual Studio przejdź do zespołu i wybierz opcję Odłącz od Team Foundation Server . Otóż to.
źródło
Właśnie odziedziczyłem kolekcję projektów TeamFoundation po wykupie M&A i transferze technologii. Było około 30 rozwiązań i mnóstwo plików * .vssscc i * .vspscc.
Opierając się na danych wszystkich powyżej, napisałem funkcję PowerShell, aby powtórzyć określony folder główny, usunąć pliki, a następnie edytować pliki rozwiązania, aby usunąć sekcję TeamFoundationVersionControl.
Wykorzystanie jest
Remove_TFSfiles "pathname" $booleanflag
.Aby zobaczyć, które pliki zostaną dotknięte, użyj
$false
(używa -whatif):Remove_TFSfiles "C:\MyDevFolder" $false
Aby faktycznie usunąć te pliki, użyj
$true
:Remove_TFSfiles "C:\MyDevFolder" $true
Oto funkcja:
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" } } }
źródło