2017-01-15 2 views
0

나는 SP 클라이언트 방법으로 알아 내려고하고 있습니다. 지금은 파일 Id 및 버전을 가져 와서 파일의 특정 버전을 제거하는 삭제 메서드를 만들고 있습니다. 문제는 버전이 마지막 실제 버전 일 때 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

코드를 확인하지 않았습니다. 그러나 "마지막 버전"과 파일은 하나의 파일이며 동일합니다. 기록 목록에서 최신 버전은 파일에 대한 참조입니다. 따라서 최신 버전을 삭제하면 해당 파일과 해당 버전도 모두 삭제됩니다