2017-01-15 4 views
0

私はSPクライアントメソッドでそれを理解しようとしています。今は、ファイルIdとバージョンをとり、ファイルの特定のバージョンを削除するDeleteメソッドを作っています。問題は、バージョンが最後の実際のバージョンであり、SharePointがそのファイルをすべてのバージョンで完全に削除する場合です。私は間違って何をしていますか?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

私はあなたのコードをチェックしていません。しかし、 "最後のバージョン"とファイルは、彼らは唯一のファイルです、彼らは同じです。履歴リストでは、最新バージョンは単にファイルへの参照です。したがって、最新バージョンを削除すると、そのファイルとそのバージョンもすべて削除されます

関連する問題