如何在 C# 中使用 CSOM 修改 PublishedTask 属性?

How to modify PublishedTask property using CSOM in C#?

在我的项目中,我通过以下方式访问任务字段:

projContext.Load(proj, p => p.Tasks.Include(t => t.Id, t => t.Name,t => t.Work));
projContext.ExecuteQuery();

task.Work 给我当前值。我的目标是以编程方式修改值,但 PublishedTask 中没有 setter 方法,编译器抱怨 属性 是只读的。有没有办法修改 PublishedTask 的属性 class?

我找到了解决办法。首先,您需要签出项目,然后才能进行更改并推送更改。

var proj = projContext.Projects.GetById("d7e63f89-47c0-e511-80d1-00155d4g5202");
DraftProject checkoutProj = proj.CheckOut();
projContext.Load(checkoutProj);
projContext.Load(checkoutProj, p => p.Tasks.Include(t => t.Id, t => t.Work));
projContext.ExecuteQuery();

task.Work = "25";
checkoutProj.Publish(true);
projContext.ExecuteQuery();