尝试更新工作项时出现 TFS 错误 - 您必须在请求正文中传递有效的补丁文档

TFS Erro when try update workitem- You must pass a valid patch document in the body of the request

我遇到了那个错误 - 您必须在请求正文中传递有效的补丁文档。

public class TFSClient
{
    public WorkItemTrackingHttpClient WorkItem { get; set; }
    public TFSClient()
    {            
        VssCredentials vssCred = new VssCredentials(new WindowsCredential(true));
        WorkItem = new WorkItemTrackingHttpClient(new Uri(TFSServer.Url), vssCred);
    }
}
 public static object UpdateWorkItemByID(int id)
    {
        try
        {
            JsonPatchDocument patchDocument = new JsonPatchDocument
            {
                new JsonPatchOperation()
                {                       
                    Operation = Operation.Add,
                    Path = ItemField.History,
                    Value = "Teste"
                }
            };            
            return  new TFSClient().WorkItem.UpdateWorkItemAsync(patchDocument, id).Result;              

        }

        catch (Exception e)
        {
            throw e;
        }
    }

OBS:这个方法以前有效,现在我收到这个错误,我不知道为什么。

我假设你使用的是 Newtonsoft.Json 11.0.1,因为我在使用 Newtonsoft.Json 11.0.1 时也遇到了这样的错误。

此问题已在 Newtonsoft.Json 11.0.2 中修复,您可以将 Newtonsoft.Json 更新到 11.0.2 并再试一次。