删除Sharepoint中的特定文件版本

时间:2017-01-15 21:53:03

标签: c# sharepoint sharepoint-2013

我试图用SP客户端方法解决这个问题。现在我正在制作删除方法,该方法获取文件ID和版本并删除文件的特​​定版本。问题是当版本是最后一个实际版本时,SharePoint实际上将完全删除该文件及其所有版本。我做错了什么?

using (var ctx = CreateClientContext())
{
    var fileItem = ctx.Web.Lists.GetByTitle(DocumentsFolder).GetItemById(fileId);
    ctx.Load(fileItem, item => item.File.Versions, item => item.File, item => item.File.UIVersionLabel);
    ctx.ExecuteQuery();

    if (string.Equals(fileItem.File.UIVersionLabel, fileVersion, StringComparison.InvariantCulture))
    {
        fileItem.DeleteObject();
    }
    else
    {
        fileItem.File.Versions.First(fi => string.Equals(fi.VersionLabel,fileVersion,StringComparison.InvariantCulture)).DeleteObject();
    }
    ctx.ExecuteQuery();
}

1 个答案:

答案 0 :(得分:1)

我没有检查你的代码。但是,“最后一个版本”和文件,它们只是一个文件,它们是相同的。在历史列表中,最新版本只是对文件的引用。因此,如果删除最新版本,则删除该文件及其所有版本