我有一个包含大量项目的解决方案,
我想完全删除源代码控制绑定,我该怎么做?
更新:我真正想做的是将一个解决方案及其项目从 TFS 2005 -> 2008 转移。这就是我删除绑定的原因,有没有更好的方法来做到这一点?
文件 -> 源代码管理 -> 高级 -> 更改源代码管理,然后取消绑定和/或断开所有项目和解决方案的连接。
这应该从解决方案和项目文件中删除所有绑定。 (之后您可以在工具 -> 选项 -> 源代码管理 -> 插件选择中切换 SCC 提供程序)。
SCC 规范规定所有 SCC 提供者都应实现此行为。 (我只测试了 VSS、TFS 和 AnkhSVN)
我在 Visual Studio 中没有 File -> Source Control 菜单,因为我从未在此 Visual Studio 安装中使用过 TFS。
我的问题是我正在从互联网上打开一个解决方案,而原作者忘记删除 TFS 绑定,所以每次我打开解决方案时,我都会收到一个烦人的弹出窗口说
"Go Offline
The Team Foundation Server http://some-other-guys-tfs-server/
is currently unavailable.
The solution will be opened offline."
为了摆脱这种情况,我删除了 .sln 文件旁边的 .suo,然后在记事本中打开 .sln 文件并删除了整个部分:
GlobalSection(TeamFoundationVersionControl) = preSolution
SccNumberOfProjects = 2
SccEnterpriseProvider = {xxxxx}
SccTeamFoundationServer = http://some-other-guys-tfs-server/
SccLocalPath0 = .
SccProjectUniqueName1 = xxDemo\\xxDemo.csproj
SccProjectName1 = xxDemo
SccLocalPath1 = xxDemo
EndGlobalSection
将 .sln 保存在记事本中,然后在 Visual Studio 中打开,问题解决。
更新:Saveen Reddy 已创建 a tool 来执行此操作。我还没有尝试过。
最简单的解决方案是打开 Visual Studio,在“工具”>“选项”>“源代码管理”中停用 TFS 插件,然后重新打开要清理的解决方案。 Visual Studio 将要求删除源代码控制绑定
如果有人需要在 Visual Studio 应用程序的上下文之外执行此操作 - 例如通过命令行,我编写了一个小工具,它将从解决方案和项目文件中剥离源代码控制绑定。来源可在此处获得:https://github.com/saveenr/VS_unbind_source_control
旧帖子,所以只需添加@Matt Frear 和@Johan Buret 的答案。两者都有效。
但在马特的情况下,您还需要在记事本/文本编辑器中设置这些(VS 2012):
SccProjectName = ""
SccAuxPath = ""
SccLocalPath = ""
SccProvider = ""
到解决方案文件 (.sln) 中的每个项目。
@Johan 的回答有效地做到了这一点......
有时,绑定信息被缓存
要清除团队资源管理器的缓存:
Go to C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\2.0
Delete or rename the Cache folder.
这来自一个我现在找不到的网站。谢谢那个家伙的提示。
接下来对我有用:
删除所有 .vssscc(解决方案绑定)和 .vspscc(项目绑定)文件 从解决方案文件中删除块 GlobalSection(TeamFoundationVersionControl) = preSolution
标签中的 proj
文件中还可能包含有关源代码管理的信息
<SccProjectName>SAK</SccProjectName> <SccLocalPath>SAK</SccLocalPath> <SccAuxPath>SAK</SccAuxPath> <SccProvider>SAK</SccProvider>
"Should Already Know" 的 SAK 状态,因此可以保留。
您可以尝试使用此工具自动从项目中删除 Team Foundation 绑定。 http://www.softpedia.com/get/Programming/Other-Programming-Files/Team-Foundation-Binding-Remover.shtml
我发现这个工具可以帮助我完全摆脱 tfs 绑定,它在此处找到 https://marketplace.visualstudio.com/items?itemName=RonJacobs.CleanProject-CleansVisualStudioSolutionsForUploadi
它使用已删除的源绑定创建一个 zip,而无需修改原始项目。
在视觉工作室 2015 中,
通过 File->Source Control->Advanced->Change Source Control 取消绑定解决方案和项目删除 C:\Users\
在 VS2017 中
转到团队资源管理器中的主页单击项目部分中的设置单击 Git 部分中的存储库设置从下一个窗口查看远程部分。你会看到删除选项
注意:我检查了 git 存储库
另一种选择是
删除工作区
需要时重新映射
确保检查,回滚(撤消挂起的更改)
在删除工作区之前
这是最快最可靠的
祝你好运
转到文件 -> 源代码管理 -> 高级 -> 更改源代码管理(如果没有出现更改源代码管理,请在解决方案资源管理器中单击解决方案,然后重试)取消绑定解决方案和所有项目
现在右键单击解决方案,您将看到“将项目添加到源代码管理”。如果您想再次将项目添加到源代码管理中,您可能会遇到一些错误,要求您更改 TFS 上的解决方案文件夹。发生这种情况是因为您的解决方案在工作区中有一些映射。删除映射或删除工作区。现在,您的解决方案已完全解除绑定,并与 TFS 或工作区解除映射。
Here you can find another tool(包括源代码)从解决方案和项目文件以及 .vssscc 和 .vspscc 文件中删除 SCC 占用空间。此外,它还删除了输出和其他可配置目录。
Hth
斯特凡