将 TFS 2010 迁移到 TFS 2017 后出现问题

Problem after migration TFS 2010 to TFS 2017

我将 TFS 从版本 2010 -> TFS 2013 Update 5 -> 升级到 TFS 2017.3.1。迁移成功,没有错误。

当我们 select 任何工作项时,我们得到错误:

TF400898: 发生内部错误。

{"message":"TF400898: An Internal Error Occurred.","type":"System.NullReferenceException"}

Content?bundle=vss-bundle-basejs-vLDQ_BPnMflh1yV4rhP43SsHlun31XvwYB1svh7haP9E=:5 GET http://servr_name:8080/Colection/sssdddd59ad7c58-da11-49ed-a085-6acc62384a85/_api/_wit/workItemTypes?__v=5&typeNames=FDR&stamp=5-12c3sss1sss162-12c40e0-117e5b3-12c4b45-11884ddddsaf-12c4b4b-1sss2c3166-117e5c2-ffffdddsffff826b3e0c-0-0-stateColors-True 500(内部服务器错误)

看起来 api 无法读取拥有该工作项的域用户。

这不是 TFS 缓存问题,因为它已在客户端和服务器上被清除。

这取决于用户。例如,TFS 管理员没有这样的错误,工作项打开正确。

此错误的可能原因是什么?

更新 2

OP 终于在没有以下命令的情况下从 2010 年重新毕业到 2017 年,这似乎有所帮助。

TFSConfig ChangeServerID /SQLInstance:server_db /DatabaseName:TFS_Configuration

首先在事件查看器中查看事件日志,看看是否有一些有用的信息。

对于迁移,请确保没有其他 TFS 实例留下任何数据库。清理这些应该会有帮助。

It depends on the users. eg, TFS administrator does not have such an error, work item opens correctly.

如果这个问题取决于用户。这可能与权限同步有关。

您可以尝试从项目中删除所有用户,然后重新添加。这可能会成功。

还要仔细检查权限相关设置。是否将它们添加到具有拒绝安全设置权限的区域下。由于在 TFS 中,拒绝王牌允许。


更新

如果升级成功且没有任何错误。那么这种错误可能与配置有关。

您可以尝试重新运行团队项目的配置向导来解决这个问题。如何参考本教程:Configure features after an upgrade