【问题标题】:How to troubleshoot TFS error TF237086 "The work item cannot be saved..."如何解决 TFS 错误 TF237086“无法保存工作项...”
【发布时间】:2023-03-09 07:02:01
【问题描述】:

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

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

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

如何解决此问题?

【问题讨论】:

    标签: msbuild tfs-workitem


    【解决方案1】:

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

    1. 检查构建服务帐户,当工作项关联时,它的 ChangedBy 字段很有可能更新为该帐户,并且该值无效。 MSDN 论坛中有人建议检查工作项的有效 TFS 用户列表(您可以打开错误并尝试在 AssignedTo 字段中输入名称)并查看此帐户是否在该列表中。

    2. 尝试使用相同的关联任务自行签入并查看更新了哪些字段(您应该能够在“历史记录”选项卡中看到这一点),从那里您可以找出可能的字段,并希望可以猜到遇到麻烦的那个。

    如果这些都不起作用,我可以获取更多详细信息并尝试在我的机器上重现它。我们需要改进错误消息以指定哪些字段无效。

    希望这会有所帮助。


    [更新] 原因确实是构建服务帐户(NT AUTHORITY\SYSTEM)没有修改工作项的权限。我通过编辑组成员身份来解决此问题的所有尝试都失败了,但是通过使用未使用的项目贡献者的帐户作为构建服务帐户,我确实使构建工作没有错误。更改构建服务帐户可能需要旧版本 workspaces to be renamed or reassigned

    【讨论】:

    • 我正在使用 Brian Keller 博客上提供的 TFS 2010 HyperV,并创建了一个新项目。我尝试复制 TailSpin 玩具拥有的权限,因此“项目集合构建服务帐户”组是新项目“贡献者”组的成员。在有效的 AssignedTo 字段中,我可以看到 LOCAL SERVICE、NETWORK SERVICE 和 TFSREPORTS,但没有我认为是构建服务帐户的 SYSTEM。在 TailSpin 上,LOCAL SERVICE 和 SYSTEM 在列表中,但其他两个不在列表中。你知道我该如何解决这个问题吗?
    • Mark - 您可以将构建服务帐户更改为 LOCAL SERVICE 或 NETWORK SERVICE 吗?我对这些东西不是很熟悉,我可以进一步挖掘,但目前还不能。
    • 有趣的是,我也使用 TFS2010 并得到了这个错误:TF42097: A work item could not be created due to a field error。以下字段的值不正确:字段:“更改者”值:“系统”,字段:“激活者”值:“系统”。因此,您可能需要在此处切换构建服务帐户。我很快就会深入挖掘。
    • 谢谢,我希望很快有机会更改构建服务帐户,并将报告我的发现
    • 我忘记了,不过你可能也可以通过 tf workspace /newowner 来改变 onwer:msdn.microsoft.com/en-us/library/y901w7se(v=VS.100).aspx
    【解决方案2】:

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

    【讨论】:

    【解决方案3】:

    更改构建服务帐号后,出现新错误

    工作文件夹 xxxx 已被工作区使用 1_1_SSSSSSSS;NT AUTHORITY\SYSTEM 在计算机 SSSSSSSSS。

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

    TFS Build Service Account change causes Build Failures - “Working Folder in use” Failures

    【讨论】:

      【解决方案4】:

      在用户帐户未更改的长时间运行的构建系统上出现错误。 在构建日志中找到了 WORKSPACE ID 运行

      tf.exe workspaces /owner:*
      

      确认工作区在构建服务器上,然后运行

      tf.exe workspace /delete 9_1_BUILDSERVER;OURDOMAIN\TFSBuild
      

      删除它,排队另一个构建,没有进一步的问题。

      【讨论】:

        【解决方案5】:

        如果你改变了进程类型,可以抛出这个异常。请更正您的进程类型。行动解决了我的问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-02-03
          • 2023-03-17
          • 1970-01-01
          • 1970-01-01
          • 2018-12-04
          • 2015-10-26
          • 1970-01-01
          • 2017-08-20
          相关资源
          最近更新 更多