我正在寻找一种设置_CheckinComment的方法。如果我这样尝试:
Microsoft.SharePoint.Client.File myUploadFile = myList.RootFolder.Files.Add(fileCreationInformation);
ListItem myItem = myUploadFile.ListItemAllFields;
myItem["Title"] = Path.GetFileName(sDocPath);
myItem["_CheckinComment"] = "This is the comment";
myClientContext.Load(myItem);
myClientContext.Load(myUploadFile);
myClientContext.ExecuteQuery();
我收到Microsoft.SharePoint.Client.ServerException:已使用无效数据更新列表项。您尝试更新的字段可能是只读的。
我想更改_CheckinComment(InternalName)而不是:
myUploadFile.CheckIn("This is the comment", CheckinType.OverwriteCheckIn)
谁可以提供帮助?
答案 0 :(得分:0)
Per Microsoft," _CheckinComment"是一个只读服务器字段。所以,这解释了你的错误。
虽然你没有说明你想要做什么,但我想我知道因为我有自己的问题。我觉得你很恼火,你不能在上传时加入一个登记评论...当你使用checkin()方法时,它会创建一个新版本。因此,您的上传跨越了两个版本(第一个是上传本身没有签到注释,第二个是添加了签到注释) - 有点乱。
对我而言,关键是使用Publish(字符串)[https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.file.publish.aspx]和Unpublish(字符串)方法。这允许您设置当前文件的签到注释,同时将当前版本升级/降级为次要主要版本。假设您的文档库有主要版本和次要版本,您可以按如下方式应用它: