0

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

签入后,我使用原始时间戳更新列表项。这在“需要签出”被禁用时有效,但是当它被启用时,我得到一个异常,说必须先签出文件。我曾尝试在签入前更新列表项,但在签入时它会被覆盖。

有没有办法做到这一点?

4

2 回答 2

0
lstItem.Update()
lstItem.SystemUpdate()

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

于 2018-08-21T08:22:13.310 回答
0

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

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

编辑:在您澄清您不使用草稿后,我建议您使用SPFile.UndoCheckOut()以编程方式丢弃结帐。否则,通过修改内容而不将内容标记为已修改,您本质上违背了 SharePoint 的设计。

于 2018-08-21T12:42:12.540 回答