【问题标题】:Error when trying to delete build definitions in TFS web interface尝试在 TFS Web 界面中删除构建定义时出错
【发布时间】:2016-10-08 01:04:37
【问题描述】:

当我尝试从 Team Foundation Server 2015 Web 界面上的项目中删除构建定义时出现服务器错误。

弹出的错误信息是:

Error(s):

500: 500: error
TFS.WebApi.Exception: 500: error
    at k (http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/corejs?v=ITI0eYHCCehqqjk6JTyPaR5R793ETLoY2_Lqz191Pyo1:64:375)
    at http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/corejs?v=ITI0eYHCCehqqjk6JTyPaR5R793ETLoY2_Lqz191Pyo1:64:2955
    at d (http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/corejs?v=ITI0eYHCCehqqjk6JTyPaR5R793ETLoY2_Lqz191Pyo1:64:635)
    at http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/corejs?v=ITI0eYHCCehqqjk6JTyPaR5R793ETLoY2_Lqz191Pyo1:64:2888
    at l (http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/q.js:27:8122)
    at http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/q.js:27:8348
    at t.when (http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/q.js:27:3780)
    at t.u.promiseDispatch (http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/q.js:27:2824)
    at http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/q.js:27:1649
    at MessagePort.t (http://timeweb:8080/tfs/_static/tfs/Dev14.M102/_scripts/TFS/min/q.js:27:5773)

当我尝试保存对构建定义的更改时,也会遇到类似的错误。

我在服务器上使用管理员帐户做所有事情。

它的行为就像用户在数据库中具有 INSERT 权限但没有 DELETE 或 UPDATE,但我不确定这是否是原因并且数据库中的权限似乎正常(为什么在全新安装后它们配置不正确?)。

我正在使用本地 SQL Server Express 实例。我正在为 TFS 使用 Windows 身份验证,我可以使用 Windows 身份验证登录并使用 SQL Server Management Studio 从数据库中手动删除它们。

我刚刚进行了另一次卸载/全新安装,但我仍然看到此错误。任何对原因或解决方案的见解将不胜感激。

更新

当我尝试删除/编辑时,SQL Server 跟踪没有显示接收到的任何相关命令,因此似乎错误在它到达数据库之前就已经发生了。

【问题讨论】:

  • 您使用的是哪个网络浏览器?您是否尝试过使用其他网络浏览器?
  • 在 Mac OS 上的 Chrome 和 Firefox 上试过。这是一个 500 错误,所以没关系。
  • TFS 的日志文件呢?
  • TFS 管理控制台有一些,但与此错误无关。事件查看器未显示任何错误。 IIS 日志显示该请求并返回 500 错误,但没有详细信息。
  • 这似乎是一个安全问题(使用谷歌我发现了很多类似的问题)。请确保用于登录 TFS 的用户具有所有安全权限,并且是 TFS 中所有相关安全组的成员。

标签: tfs tfs-2015


【解决方案1】:

首先,请确保您有足够的权限。比如edit build definition。您可以使用tf permission command 列出相关权限信息。

例如:tf permission /user:userID /collection:http://xxx:8080/tfs/defaultcollection 这将返回集合路径下该用户的修改权限。也可以使用服务器路径。

还将您的用户添加到团队项目管理员组构建管理员组

尝试清理浏览器缓存并关闭浏览器,然后重试。

【讨论】:

  • 我无法运行tf - 没有足够的可用内存。我的帐户是 Windows 管理员帐户。 Web 界面显示我的用户设置为高级访问级别。用户同时是集合管理员、集合构建管理员、项目管理员和构建管理员。用新的浏览器试了一下,没什么区别。重复我上面所说的,如果是权限问题,我应该得到权限错误而不是服务器错误吗?
  • 我刚刚从远程机器上运行了TF,它说项目上“没有设置权限”......这怎么可能?为什么网络应用和 tf 显示的内容有差异?
  • 未设置权限仅表示您没有更改任何默认权限。看来这是正确的现象。你能创建一个新的定义并删除新的 crated 吗?这个错误是否只发生在您的帐户中?任何其他帐户可以成功删除定义?
  • 其他账号我没试过。我可以创建一个新的定义,但删除时仍然出现错误。我会让别人用另一个帐户试试。
  • 如果其他人可以成功删除,似乎只有删除选项才会出现问题。那么您的帐户一定有问题。
猜你喜欢
  • 1970-01-01
  • 2011-08-09
  • 2011-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-24
  • 2023-03-16
  • 2015-12-06
相关资源
最近更新 更多