关于 Team Foundation Server 的 (TFS) 源代码控制......您如何将项目的状态从 更改Invalid
为Valid
?
背景
我们正在重组 TFS 中的几个解决方案和项目。在这种情况下:
- 首先执行分支操作以将现有解决方案+项目移动到 TFS 存储库中的新位置。
- 项目层次结构一团糟,所以我使用 TFS移动操作将项目移动到适当的位置。
- 这个步骤在许多项目上执行。对于其中的 99%,绑定是可以的。
- 然后将更改提交到 TFS。
不同的方法
一
在 Visual Studio 中...
- 打开有问题的解决方案
- 在解决方案资源管理器中选择解决方案
- 选择文件->源代码管理->更改源代码管理
- 取消绑定任何已绑定但无法正常工作的项目。
- 绑定所有现在未绑定的项目。
二
- 从磁盘中删除所有源代码。
- 启动Visual Studio。
- 打开源代码管理资源管理器窗口
- 工作区下拉菜单 =>工作区=> 选择
MyWorkspace
=>编辑... =>高级- 一切看起来都不错
- 确保没有与解决方案项目相关的TFS挂起更改。
- 源代码管理 => 获取最新信息
- 在Notepad++中打开解决方案(例如
MySolution.sln
) - 删除了整个部分:
GlobalSection(TeamFoundationVersionControl) = preSolution
- 保存解决方案文件。
- 在Notepad++中打开项目文件(例如 MyProject.vcxproj)
- 删除了以下 XML 元素:
SccProjectName
SccAuxPath
SccLocalPath
SccProvider
- 保存项目文件。
- Visual Studio => 文件 => 打开 => 解决方案
- 单击解决方案资源管理器
MySolution
中的 - 文件 => 源代码控制 => 高级 => 更改源代码控制
- 在状态栏中,
MySolution
并列MyProject
为Not Controlled
- 在状态栏中,
- 单击
MySolution
并绑定 - 单击确定。到目前为止,一切都很好。
- 文件 => 源代码控制 => 高级 => 更改源代码控制
- 在状态栏中,
MyProject
列为Not Controlled
- 在状态栏中,
- 单击
MyProject
并绑定- 在状态栏中,
MyProject
现在标记为Invalid
- 在状态栏中,
- 如果我现在单击确定,则会显示以下错误:
- “某些项目已绑定到可能不正确的服务器位置。位置可能不正确,因为它不包含项目的大部分文件,或者因为这些文件相对于指定的服务器文件夹不在正确的位置。您应该可能修复解决方案中的所有绑定。但是,即使有些项目可能不正确,您也可以继续并将这些项目绑定到指定位置。
- 点击:修复服务器绑定
- 对话窗口消失。
- 点击:好的
- 之前的错误再次出现。
- 点击:继续这些绑定
- 对话窗口消失了,但我仍然没有进一步解决这个问题:(
环境
- Visual Studio 高级版 2013 (v12.0.21005.1 REL)
- Windows 8.1 企业版(64 位)
- 此解决方案包含其他几个项目(C++ 和 C#),并且绑定很好。
- 此解决方案目前没有构建定义。