我有一个包含大量项目的解决方案,
我想完全删除源代码控制绑定,该怎么做?
更新: 我真正想做的是将一个解决方案及其项目从TFS 2005移动到2008。这就是为什么我要删除绑定,是否有更好的方法可以实现?
我有一个包含大量项目的解决方案,
我想完全删除源代码控制绑定,该怎么做?
更新: 我真正想做的是将一个解决方案及其项目从TFS 2005移动到2008。这就是为什么我要删除绑定,是否有更好的方法可以实现?
文件 -> 源代码控制 -> 高级 -> 更改源代码控制,然后取消所有项目和解决方案的绑定和/或断开连接。
这应该会从解决方案和项目文件中删除所有绑定。(之后可以在工具 -> 选项 -> 源代码控制 -> 插件选择中切换SCC提供程序)。
SCC规范规定所有SCC提供程序都应该实现此行为。(我只测试过VSS、TFS和AnkhSVN)
我在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 已经创建了 一款工具 来完成此操作。不过我还没有尝试过。
最简单的解决方案是打开Visual Studio, 在工具 > 选项 > 源代码控制中停用TFS插件并重新打开你想清理的解决方案。 Visual Studio会询问是否要删除源代码控制绑定。
如果有人需要在非Visual Studio应用程序环境下执行此操作,例如通过命令行,我编写了一个小工具,可以从解决方案和项目文件中删除源代码控制绑定。该工具的源代码可在此处获得:https://github.com/saveenr/VS_unbind_source_control
以下是适用于我的下一步操作:
在 proj
文件的标签中也可能有关于源代码控制的信息
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
SAK 代表 "应该已经知道", 因此可以保留。
这是一个旧帖子,我要补充一下@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 上更改解决方案文件夹。这是因为您的解决方案已经在工作区中有一些映射。删除映射或删除工作区。现在,您的解决方案已完全与 TFS 或工作区解除绑定和取消映射。
文件->源代码控制->高级->更改源代码控制
取消解决方案和项目的绑定C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\6.0
中的缓存