如何完全删除 TFS 绑定(TFS Bindings)

我有一个针对很多项目的解决方案,

我想完全删除源代码控制绑定,我该如何做到这一点?

更新: 我真正想做的是将方案从 TFS 2005 迁移到 2008。这就是为什么我要删除绑定,有比较好的方法来做到这一点吗?

195323 次浏览

最简单的解决方案是打开Visual Studio,禁用工具>选项>源代码控制中的TFS Plugin,然后重新打开你想要清理的解决方案。Visual Studio将要求删除源控件绑定

文件->源控制->高级->更改源控制,然后取消绑定和/或断开所有项目和解决方案。

这将从解决方案和项目文件中删除所有绑定。(在此之后,您可以在工具->选项->源控制->插件选择中切换SCC提供程序)。

SCC规范规定所有SCC提供者都应该实现这种行为。(我只测试了VSS, TFS和AnkhSVN)

我在Visual Studio中没有File ->源代码控制菜单,因为我从未在安装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已经创建了一个工具来执行此操作。不过我还没试过。

如果有人需要在Visual Studio应用程序的上下文之外做这件事——例如通过命令行,我写了一个小工具,它将从解决方案和项目文件中剥离源代码控制绑定。源代码在这里:https://github.com/saveenr/VS_unbind_source_control

您可以尝试使用这个工具,它会自动从项目中删除团队基础绑定。 http://www.softpedia.com/get/Programming/Other-Programming-Files/Team-Foundation-Binding-Remover.shtml < / p >

在这里你可以找到另一种工具(包括源代码)从解决方案和项目文件以及.vssscc和.vspscc文件中删除SCC足迹。此外,它还删除输出和其他可配置目录。

Hth

Stefan

旧帖子,所以只是补充了@Matt Frear和@Johan Buret的答案。这两个工作

但在Matt的情况下,你需要在记事本/文本编辑器中设置这些(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.

这来自一个我现在找不到的网站。谢谢那个家伙的提示。

我发现这个工具,帮助我摆脱一个tfs绑定完全在这里找到 https://marketplace.visualstudio.com/items?itemName=RonJacobs.CleanProject-CleansVisualStudioSolutionsForUploadi < / p >

它在不修改原始项目的情况下,使用已删除的源绑定创建压缩包。

在visual studio 2015,

  1. 通过File->Source Control->Advanced->Change Source Control解除解决方案和项目的绑定
  2. 删除C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\6.0中的缓存

在VS2017

  1. 去团队资源管理器的主页
  2. 在项目部分单击设置
  3. 在Git部分单击存储库设置
  4. 在下一个窗口中查看遥控器部分。你会看到选项删除

注意:我检查git存储库

另一个选择是

删除工作区

需要时重新映射

确保检查,回滚(撤消挂起的更改)

在删除工作区之前

这是最快、最可靠的方法

祝你好运

  1. 进入文件->源控制->高级->更改源控制(如果更改源控制没有出现,在解决方案资源管理器中单击解决方案,然后再试一次)
  2. 解绑定解决方案和所有项目

现在右键单击解决方案,你会看到“将项目添加到源代码控制”。如果你想再次将项目添加到源代码控制中,你可能会得到一些错误,要求你更改TFS上的解决方案文件夹。发生这种情况是因为您的解决方案在工作区中有一些映射。删除映射或删除工作区。现在您的解决方案已经完全解除了与TFS或工作区的绑定和映射。

下一个适合我:

  1. 删除所有.vssscc(解决方案绑定)和.vspscc(项目绑定)文件
  2. 从解决方案文件中删除块GlobalSection(TeamFoundationVersionControl) = preSolution

proj文件的标签中也可以有关于源代码控制的信息

< p > <代码> & lt; SccProjectName> SAK< / SccProjectName> & lt; SccLocalPath> SAK< / SccLocalPath> & lt; SccAuxPath> SAK< / SccAuxPath> & lt; SccProvider> SAK< / SccProvider> < /代码> < / p >

SAK声明“早该知道”,所以它可以被保留。