我有一个包含很多项目的解决方案,

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

更新: 我真正想做的是从TFS 2005 -> 2008中移动一个解决方案及其项目。这就是为什么我要删除绑定,有更好的方法来做到这一点吗?


最简单的解决方案是打开Visual Studio,在Tools > Options > Source control中禁用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


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

Hth

斯特凡


旧帖子,所以只是补充了@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

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


在visual studio 2015,

通过文件->源代码控制->高级->更改源代码控制解除解决方案和项目的绑定 删除C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\6.0目录下的缓存


在VS2017

去团队资源管理器的主页 单击项目部分中的设置 单击Git部分中的Repository Settings 从下一个窗口查看Remotes部分。您将看到删除选项

注意:我检查git存储库


另一个选择是

删除工作区

需要时重新映射

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

在删除工作区之前

这是最快、最可靠的方法

祝你好运


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

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


下一个适合我:

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

在标记中还可以有关于proj文件中的源代码控制的信息

< SccProjectName > < / SccProjectName >袋 < SccLocalPath > < / SccLocalPath >袋 < SccAuxPath > < / SccAuxPath >袋 < SccProvider > < / SccProvider >袋

SAK表示“应该已经知道”,所以可以保留。