如何让Visual Studio 2019识别已在TFS中的项目处于源代码控制?
解决Visual Studio 2019无法识别TFS已托管代码的问题
核心原因
VS的源代码控制关联依赖解决方案/项目文件所在目录的版本控制绑定信息,你的解决方案存放在TFS代码目录外,VS默认不会自动关联外部目录的TFS绑定。另一个方案正常,大概率是绑定信息已被正确识别或手动配置过。
具体解决步骤
1. 手动绑定解决方案到TFS仓库
- 打开VS2019并加载目标解决方案
- 顶部菜单选择 文件 > 源代码控制 > 高级 > 更改源代码控制
- 在弹出窗口中处理各项目:
- 针对已在TFS中的网站项目,点击绑定,选择对应TFS仓库和分支路径
- 确保所有项目状态显示为“已绑定”
- 点击确定后保存解决方案
2. 检查并修复TFS本地工作区映射
- 按
Ctrl+\, Ctrl+M调出团队资源管理器 - 点击管理连接 > 连接到项目,确认已连接目标TFS服务器和仓库
- 右键仓库选择管理工作区,检查本地工作区是否包含网站项目的顶级文件夹:
- 若未包含,编辑工作区添加该文件夹到映射列表
- 确保本地路径与TFS分支路径对应正确
3. 手动添加源代码控制绑定信息
如果前两步无效,可手动配置解决方案绑定:
- 找到TFS代码目录下的隐藏
.tfvc文件夹,复制其中的vssscc、vspscc相关文件到你的解决方案目录 - 编辑
.sln文件,在末尾添加以下绑定段(替换为你的TFS服务器信息):
GlobalSection(TeamFoundationVersionControl) = preSolution SccNumberOfProjects = 1 SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} SccTeamFoundationServer = http://your-tfs-server:8080/tfs/CollectionName SccLocalPath0 = . EndGlobalSection
- 保存
.sln后重新加载解决方案
4. 重置VS源代码控制缓存
- 关闭Visual Studio
- 删除以下缓存目录:
%LOCALAPPDATA%\Microsoft\Team Foundation\8.0\Cache%LOCALAPPDATA%\Microsoft\VisualStudio\16.0_*\Team Explorer
- 重启VS并重新连接TFS加载解决方案
对比正常解决方案的配置差异
排查两个方案的不同点:
- 检查
.sln文件中TeamFoundationVersionControl全局段的内容是否一致 - 对比团队资源管理器中工作区映射的配置
- 确认两个方案添加网站项目的操作完全一致(是否均通过“添加现有网站”选择TFS目录下的文件夹)
内容的提问来源于stack exchange,提问作者Colin Plater
相关产品推荐
相关产品推荐

