如何完全删除TFS绑定


238

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

我想完全删除源代码控制绑定,该怎么做?

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


我认为您不必删除并重新添加绑定即可升级到更新的TFS。2008客户端完全替代了2005客户端,并且可以在VS 2005和2008中用于新旧服务器。
Bert Huijben

2
我创建了一个VSIX插件,该插件删除了TFS绑定并压缩了解决方案的副本(还删除了所有不必要的文件)。见visualstudiogallery.msdn.microsoft.com/...
RickAndMSFT

空的Models文件夹弄乱了@ RickAnd-MSFT我必须删除并重新创建它,否则效果很好。thx
Tom Stickel 2015年

@ RickAnd-MSFT可能应该是答案
Chris Marisic 2015年

Answers:


268

文件->源代码管理->高级->更改源代码管理,然后取消绑定和/或断开所有项目和解决方案的连接。

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

SCC规范规定所有SCC提供程序都应实现此行为。(我只测试了VSS,TFS和AnkhSVN)


4
+1,但不幸的是,这仍将元素保留在项目文件中,并保留.vssscc文件。但是,解决方案文件已清除。使用了VS 2010 Pro,这是我们使用过的第一个TFS项目。
James Skemp 2011年

24
假定您可以连接到原始TFS服务器。
ATL_DEV 2012年

2
我创建了一个VSIX插件,该插件删除了TFS绑定并压缩了解决方案的副本(还删除了所有不必要的文件)。见visualstudiogallery.msdn.microsoft.com/...
RickAndMSFT

我的TFS工作空间由于不活动而被删除(可能)。但是我仍然能够删除绑定。但是,第一次没有用。我第二次检查所有绑定仍然存在。我第二次解除绑定,但一切正常。
DerpyNerd

152

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


3
就是这样,我也有这个弹出窗口。谢谢。但是,如果我删除.suo文件并启动VS,则会丢失打开的文件历史记录。将.suo文件移回,我恢复了打开的文件。所以我只需要删除该部分。
ibram

我有一个在VSS中添加到TFS中的项目,而VS一直将VSS视为源代码控制提供程序(即使我删除了绑定,这也确实是一个单独的问题)。在项目中删除上面的代码并重新绑定到TFS解决了该问题。
333Mhz 2012年

在删除.suo文件之前,我一直遇到麻烦。只有这样,它才问我是否要永久删除源代码控制绑定。
zacharydl 2014年

在当今时代,我们需要为此简单且常见的任务执行此操作吗?微软应该考虑可用性...
该死的蔬菜

1
与VS 2015兼容,仅需删除.sln文件中的TFS部分
Tony Dong

41

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


1
此外,我忘了提,这是VS 2008的解决方案,我认为你的答案只能用VS 2005的作品
迈克尔大号

1
尝试了许多不同的解决方案,但这似乎是最简单,最快的(在Visual Studio 2012中)。到目前为止,我已经在解决方案上工作了!
–'olf

太棒了!它快速,简单,这正是我需要从所有TFS绑定中清除项目的内容。
Andreas 2014年

3
这似乎在2013年不起作用-源代码管理插件存储在解决方案中。
罗布

1
这在VS2013 Ultimate中对我非常有用。我将单个解决方案从TFS迁移到SVN,这节省了我的培根。
罗布·霍顿

11

如果有人需要在Visual Studio应用程序的上下文之外执行此操作(例如,通过命令行),我编写了一个小工具,该工具将从Solution And Project文件中剥离源代码控制绑定。来源在这里可用:https : //github.com/saveenr/VS_unbind_source_control


抱歉,这对我不起作用。它一直询问我是否要断开与新服务器的连接,然后重新连接至旧服务器。
ATL_DEV 2012年

5

旧帖子,因此只需添加@Matt Frear和@Johan Buret的答案即可。两者都起作用

但在Matt的情况下,您需要在记事本/文本编辑器中进行设置(VS 2012):

SccProjectName = ""
SccAuxPath = ""
SccLocalPath = ""
SccProvider = ""

解决方案文件(.sln)中的每个项目。

@Johan的答案有效地做到了这一点。


4

有时,绑定信息被缓存

要清除团队资源管理器的缓存,请执行以下操作:

Go to C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\2.0
Delete or rename the Cache folder.

这来自我现在找不到的网站。谢谢那个家伙的小费。



2

下一个对我有用:

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

proj标签中的文件中可能还会有关于源代码控制的信息

<SccProjectName>SAK</SccProjectName> <SccLocalPath>SAK</SccLocalPath> <SccAuxPath>SAK</SccAuxPath> <SccProvider>SAK</SccProvider>

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


1

我发现此工具可帮助我彻底摆脱tfs绑定,可在以下位置找到它:https: //marketplace.visualstudio.com/items?itemName = RonJacobs.CleanProject-CleansVisualStudioSolutionsForUploadi

它使用删除的源绑定创建一个zip,而无需修改原始项目。


1

在Visual Studio 2015中,

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

当我从文件夹中删除缓存时,在重新打开后,所有内容立即恢复
。– Victor_Tlepshev,

0

在VS2017中

  1. 在团队资源管理器中回家
  2. 单击项目部分中的设置
  3. 单击Git部分中的存储库设置
  4. 在下一个窗口中,请参阅“ 遥控器”部分。您将看到删除选项

注意:我检查了git仓库



0
  1. 转到文件->源代码管理->高级->更改源代码管理(如果未出现更改源代码管理,请在解决方案资源管理器中单击解决方案,然后重试)
  2. 取消绑定解决方案和所有项目

现在,右键单击解决方案,您将看到“将项目添加到源代码管理”。如果要再次将项目添加到源代码管理中,则可能会出现一些错误,要求您更改TFS上的解决方案文件夹。之所以会发生这种情况,是因为您的解决方案在工作空间中还有一些映射。删除映射或删除工作区。现在,您的解决方案已完全脱离TFS或工作空间的绑定和映射。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.