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

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

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


当前回答

我在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已经创建了一个工具来做到这一点。不过我还没试过。

其他回答

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

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

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

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

有时候,绑定信息会被缓存

清除团队资源管理器的缓存:

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 > < / SccProjectName >袋 < SccLocalPath > < / SccLocalPath >袋 < SccAuxPath > < / SccAuxPath >袋 < SccProvider > < / SccProvider >袋

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

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