如何排查 TFS 错误TF237086 "The work item cannot be saved..."



我在TFS 2010构建中收到以下错误:

未能更新工作项"59":"TF237086:无法保存该工作项,因为至少有一个字段包含不允许的值。"

工作项59是我创建的一个基本任务,用于在签入时与变更集关联。我没有对"任务"工作项进行自定义。打开任务并手动更改值时,我不会出错。构建日志中没有任何内容可以提供导致问题的字段的线索。

如何解决此问题?

在这种情况下我会做的事情:

  1. 请检查生成服务帐户,当工作项关联时,其ChangedBy字段很可能会使用此帐户更新,并且该值无效。MSDN论坛中有人建议检查工作项的有效TFS用户列表(您可以打开一个bug,并尝试在AssignedTo字段中键入名称),看看该帐户是否在该列表中。

  2. 尝试自己签入相同的关联任务,看看更新了哪些字段(您应该能够在"历史记录"选项卡中看到这一点),从中您可以找出可能的字段,并有望猜测出有问题的字段。

如果这些都不起作用,我可以获得更多的细节,并尝试在我的机器上重新编程。我们需要改进错误消息来指定哪些字段无效。

希望这能有所帮助。


[更新]原因确实是生成服务帐户(NT AUTHORITY\SYSTEM)没有修改工作项的权限。我所有试图通过编辑组成员身份来解决这个问题的尝试都失败了,但我确实使用了一个未使用的项目贡献者帐户作为构建服务帐户,使构建工作正常,没有出现错误。更改生成服务帐户可能需要重命名或重新分配旧的生成工作区。

我遇到了同样的问题,在重新启动VS 2015 IDE并在TFS上向我的帐户输入凭据后,我能够消除错误。

在更改构建服务帐户后,我得到了一个新的错误

工作区已在使用工作文件夹xxxx1_1 _ SSSSSSSS;计算机SSSSSSSSS上的NT AUTHORITY\SYSTEM。

该问题的解决方案是使用TF实用程序删除与SYSTEM构建帐户关联的工作区。我不得不将TF实用程序从我的笔记本电脑复制到我们的服务器上运行它

请参阅TFS生成服务帐户更改导致生成失败-"使用中的工作文件夹"失败

在用户帐户未更改的长期运行的构建系统上得到错误。在运行的生成日志中找到WORKSPACE ID

tf.exe workspaces /owner:*

确认工作区在生成服务器上,然后运行

tf.exe workspace /delete 9_1_BUILDSERVER;OURDOMAINTFSBuild

要删除它,请对另一个生成进行排队,没有进一步的问题。

如果您更改了流程类型,则可以引发此异常。请更正您的流程类型。我的问题通过行动解决了。

相关内容