Как сделать решение как чистую копию без сопоставления с TFS? Проблема в том, что это сообщение появляется, когда я пытаюсь его открыть. Я хочу открыть его как обычно, без подключения к TFS.
visual-studio
tfs
чемпион
источник
источник
Чтобы полностью удалить привязку системы управления версиями TFS, выполните следующие два шага:
*.vssscc
и*.vspscc
расширения..sln
файл вашего решения в Блокноте, найдите и удалитеGlobalSection(TeamFoundationVersionControl)
раздел.Подробнее по ссылке Ссылка
источник
Отредактируйте файл решения и удалите из него следующий раздел. Это будет не то же самое, но будет похоже.
Примечание . Чтобы отредактировать файл решения, перейдите в папку проекта, затем откройте
YouSolutionName.sln
файл с помощью блокнота.источник
У меня недостаточно репутации для комментариев, но я просто хотел добавить, что решение Табиша действительно работает правильно, чтобы полностью удалить решение из системы управления версиями, особенно когда сервер TFS недоступен по той или иной причине (например, вы загрузили проект, который автор не удалил из своей системы управления версиями перед загрузкой).
Однако, чтобы полностью удалить все следы управления версиями из проекта и избежать предупреждений, отмеченных в других комментариях к этому ответу (например, «Не удалось найти сопоставления для решения ...»), вы также должны удалить следующие строки из каждого файла проекта в решении (по-видимому, они были в файле решения в более ранних версиях VS, но в VS2017 они находятся в файле проекта для каждого проекта в решении - например, [project] .csproj):
Благодаря отмеченному ответу и другим комментариям здесь за указание на это:
Visual Source Safe - как удалить привязки из решения без открытия в Visual Studio
Объединение этого с ответом Табиша кажется наиболее полным методом ручного удаления решения из системы контроля версий.
источник
Чтобы удалить привязку, вы можете использовать Visual Studio: Меню File / Source Control / Advanced / Change Source Control.
Вы также можете сделать это самостоятельно, удалив любой SCC ... из sln и csproj.
Если вы часто экспортируете исходные файлы, вы можете использовать ExportSrc . У него есть много опций, таких как удаление привязки TFS (по умолчанию включено).
источник
Большинство ответов предоставили решение, но я бы предпочел использовать решение, предоставленное Visual Studio 2017.
В строке меню Visual Studio перейдите в раздел «Команда» и выберите « Отключиться от Team Foundation Server» . Вот и все.
источник
Я только что унаследовал коллекцию проектов TeamFoundation после выкупа слияния и поглощения и передачи технологий. Было около 30+ решений и множество файлов * .vssscc и * .vspscc.
Основываясь на приведенных выше комментариях, я написал функцию PowerShell для рекурсии указанной корневой папки, удаления файлов, а затем редактирования файлов решения, чтобы удалить раздел TeamFoundationVersionControl.
Использование
Remove_TFSfiles "pathname" $booleanflag
.Чтобы узнать, какие файлы будут затронуты, используйте
$false
(использует -whatif):Remove_TFSfiles "C:\MyDevFolder" $false
Чтобы удалить эти файлы, используйте
$true
:Remove_TFSfiles "C:\MyDevFolder" $true
Вот функция:
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" } } }
источник