如何在不更改修改后的时间戳的情况下检入文件?

时间:2018-08-20 23:34:42

标签: c# sharepoint checkin modified-date

我将SharePoint CSOM与C#桌面应用程序一起使用,并试图将文件签入到启用了“需要签出”设置的文档库中。我希望修改后的时间戳保持不变(不更新)。

签到后,我用原始时间戳更新列表项。当“要求签出”被禁用时,此方法有效,但是当它启用时,出现一个异常,指出必须首先签出文件。我曾尝试在签入之前更新列表项,但签入时会被覆盖。

有什么办法吗?

2 个答案:

答案 0 :(得分:0)

lstItem.Update()
lstItem.SystemUpdate()

您可以使用update更新文件和修改日期。 系统更新将更新文件,而不会更改修改日期。

答案 1 :(得分:0)

使用SystemUpdate更新数据后,在重新签入SPFile时是否尝试过OverwriteCheckin?

listItem.SystemUpdate();    
file.CheckIn("comment", CheckinType.OverwriteCheckIn);

编辑:明确说明您不使用草稿后,建议您使用SPFile.UndoCheckOut()以编程方式放弃结帐。否则,您天生就在不修改内容而不将内容标记为已修改的情况下违反了SharePoint的设计。