ChatGPT解决这个技术问题 Extra ChatGPT

如何完全删除 TFS 绑定

我有一个包含大量项目的解决方案,

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

更新:我真正想做的是将一个解决方案及其项目从 TFS 2005 -> 2008 转移。这就是我删除绑定的原因,有没有更好的方法来做到这一点?

我认为您不必删除并重新添加绑定即可升级到更新的 TFS。 2008 客户端完全取代了 2005 客户端,并在 VS 2005 和 2008 中适用于新旧服务器。
我创建了一个 VSIX 插件,它删除了 TFS 绑定并压缩了您的解决方案的副本(也删除了所有不必要的文件)。请参阅visualstudiogallery.msdn.microsoft.com/…
空的模型文件夹搞砸了@RickAnd-MSFT 我不得不删除并重新创建它,否则效果很好。谢谢
@RickAnd-MSFT 这可能应该是一个答案

M
Matthew Lock

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

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

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


+1,但不幸的是,这仍然保留了项目文件中的元素,并保留了 .vssscc 文件。但是,解决方案文件已被清除。使用 VS 2010 Pro,这是我们使用过的第一个 TFS 项目。
这假设您可以连接到原始 TFS 服务器。
我创建了一个 VSIX 插件,它删除了 TFS 绑定并压缩了您的解决方案的副本(也删除了所有不必要的文件)。请参阅visualstudiogallery.msdn.microsoft.com/…
由于不活动(可能),我的 TFS 工作区已被删除。但我仍然能够删除绑定。然而,它第一次并没有奏效。我第二次检查所有绑定仍然存在。第二次我解开它工作的一切。
s
saveenr

我在 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 来执行此操作。我还没有尝试过。


就是这样,我也有这个弹出窗口。谢谢。但是,如果我删除了 .suo 文件并启动 VS,我会丢失打开文件的历史记录。将 .suo 文件移回,我打开的文件又回来了。所以我只需要删除该部分。
我有一个在 VSS 中添加到 TFS 的项目,并且 VS 一直将 VSS 视为源代码控制提供程序(即使我删除了绑定,这无疑是一个独立的问题)。将项目中的上述代码删除,重新绑定到TFS即可解决问题。
在删除 .suo 文件之前,我遇到了麻烦。直到那时它才问我是否要永久删除源代码控制绑定。
在这个时代,我们需要为这个简单而常见的任务做这件事吗?微软应该考虑可用性......
与 VS 2015 配合得很好,只需要删除 .sln 文件中的 TFS 部分
J
Johan Buret

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


另外我忘了提,这是一个 VS 2008 解决方案,我认为您的答案仅适用于 VS 2005。
尝试了许多不同的解决方案,但这似乎是最简单和最快的(在 Visual Studio 2012 中)。到目前为止,我一直在研究我的解决方案!
惊人的!它很快,很简单,这正是我从所有 TFS 绑定中清除项目所需要的。
这在 2013 年似乎不起作用 - 源代码管理插件存储在解决方案中。
这在 VS2013 Ultimate 中对我来说非常有用。我正在将单个解决方案从 TFS 转移到 SVN,这节省了我的培根。
s
saveenr

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


抱歉,但这对我不起作用。它一直询问我是否要断开与新服务器的连接并重新连接到旧服务器。
不错的小工具。我刚刚将我们公司的存储库从 TFS 转换为 SVN,这些消息令人讨厌。顺便说一句,针对 VS2019 中内置的解决方案运行了这个,没有问题,它也适用于 2015 、 2017 。我做了一个小改动,以更好地列出流程失败的解决方案/项目。如果您有很多项目要转换,它们可能会丢失。
E
EdSF

旧帖子,所以只需添加@Matt Frear 和@Johan Buret 的答案。两者都有效。

但在马特的情况下,您还需要在记事本/文本编辑器中设置这些(VS 2012):

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

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

@Johan 的回答有效地做到了这一点......


M
Mark

有时,绑定信息被缓存

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

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

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


A
ASpirin

接下来对我有用:

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

标签中的 proj 文件中还可能包含有关源代码管理的信息

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

"Should Already Know" 的 SAK 状态,因此可以保留。


H
Hefin Dsouza

您可以尝试使用此工具自动从项目中删除 Team Foundation 绑定。 http://www.softpedia.com/get/Programming/Other-Programming-Files/Team-Foundation-Binding-Remover.shtml


r
robgha01

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

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


c
code4j

在视觉工作室 2015 中,

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


当我从文件夹中删除缓存时,在我重新打开 vs.
r
reza.cse08

在 VS2017 中

转到团队资源管理器中的主页单击项目部分中的设置单击 Git 部分中的存储库设置从下一个窗口查看远程部分。你会看到删除选项

注意:我检查了 git 存储库


G
Girish Konaraddi

另一种选择是

删除工作区

需要时重新映射

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

在删除工作区之前

这是最快最可靠的

祝你好运


A
Ali Dehghani

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

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


S
Stefan

Here you can find another tool(包括源代码)从解决方案和项目文件以及 .vssscc 和 .vspscc 文件中删除 SCC 占用空间。此外,它还删除了输出和其他可配置目录。

Hth

斯特凡