5

我们使用 TFS2012 和 VS2012(有些人使用 Update1 和一些 Update2)。)。在某些人的机器中,我们得到:

TF400324: Team Foundation services are not available from server vstfps\Protection.
Technical information (for administrator):
    Page not found.

这发生在任何源代码控制访问中,无论是在 VS2012 中还是在运行“tf.exe get”时。但是,其他 TFS 服务可以正常工作,例如工作项查询。

我已经卸载并重新安装了 VS(这次没有 Update2),问题仍然存在。

我发现了一个类似的问题报告,尽管它有些不同,并且任何一种方式都没有解决方法。

使用 Netmon 进行调试时,我注意到受影响的机器使用不同的 URI:

Good: /tfs/Protection/VersionControl/v4.0/repository.asmx
Bad: /tfs/Protection/VersionControl/v5.0/repository.asmx

什么决定了机器使用的 URI?我该如何改变呢?

4

1 回答 1

5

解决方法:关闭 Visual Studio 和相关应用,然后删除%LocalAppData%\Microsoft\Team Foundation\4.0\Cache.

原因:(根据我的系统管理员的报告重建......)

我的 TFS2012 RTM 服务器是从现有服务器克隆的,保持相同的集合 GUID。效果:

  • 旧服务器安装并卸载了 Update1。TFS2012 RTM 仅支持 v4.0 URI,而 TFS2012 Update1 添加了 v5.0。因此,有时,客户端会感到困惑并转到旧服务器,获取 v5.0 URI,并将其缓存在...\Cache\<guid>\LocationServiceData.config.
  • 我们的 TFS 构建失败并显示“无法复制活动日志”,因为他们试图复制到旧服务器。

修复:通过运行以下命令更改新服务器上的集合 GUID:

tfsconfig ChangeServerID /sqlinstance:<SQLInstanceName> /databasename:tfs_configuration 

之后,人们需要最后一次清理缓存,仅此而已。

于 2013-04-28T12:54:19.310 回答