我试图用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();
}
答案 0 :(得分:1)
我没有检查你的代码。但是,“最后一个版本”和文件,它们只是一个文件,它们是相同的。在历史列表中,最新版本只是对文件的引用。因此,如果删除最新版本,则删除该文件及其所有版本