Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中使用CSOM修改PublishedTask属性?_C#_Sharepoint 2010_Csom - Fatal编程技术网

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

如何在C#中使用CSOM修改PublishedTask属性?,c#,sharepoint-2010,csom,C#,Sharepoint 2010,Csom,在我的项目中,我通过以下方式访问任务字段: projContext.Load(proj, p => p.Tasks.Include(t => t.Id, t => t.Name,t => t.Work)); projContext.ExecuteQuery(); task.Work为我提供当前值。我的目标是以编程方式修改该值,但PublishedTask中没有setter方法,编译器抱怨该属性是只读的。有没有办法修改PublishedTask类的属性?我找到了一个解决方

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

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

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

我找到了一个解决方案。首先,您需要签出项目,然后才能进行更改并推动更改

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();