1

SPFile.Delete()에서 파일의 모든 버전을 휴지통에서 삭제하는 문제에 직면하고 있습니다. 휴지통에있는 파일 버전을 삭제하고 싶지 않습니다.재활용 된 버전을 MOSS2007에서 프로그래밍 방식으로 삭제하지 않고 라이브러리에서 파일을 삭제하는 방법

예 : 동일한 파일 xyz.xls의 4 가지 버전을 만들었습니다. 이제 UI에서 파일의 두 번째 버전을 삭제합니다. 내 두 번째 버전을 휴지통으로 보냅니다. 이제 내가 필요한 것은 SPFile.Delete()를 호출 할 때 휴지통에있는 파일이 아닌 다른 네 가지 버전의 파일을 삭제해야한다는 것입니다. 현재 휴지통에서도 버전을 삭제하고 있습니다.

내가 달성해야하는 것은 휴지통에있는 파일의 버전이 삭제되지 않아야한다는 것입니다. SPFile.Delete()를 호출하면 라이브러리에있는 버전 만 삭제됩니다.

.Recycle()을 사용하기 위해 언급 된 솔루션은 모든 버전을 휴지통으로 옮깁니다. 하지만 필자가 필요로하는 것은 라이브러리에있는 파일의 버전이 영구적으로 삭제되어야한다는 것이지만 휴지통에있는 파일의 버전은 전혀 삭제되지 않아야한다는 것입니다.

답변

1

파일의 버전을 반복 재생하고 하나씩 삭제할 수 있습니다. 아마 속도가 느려집니다하지만 난 당신이

foreach(SPFileVersion version in file.Versions) 
{ 
    version.Delete() 
} 

휴지통에서 현재 파일과없는 버전 만 삭제됩니다이 방법을 찾고 무엇을 달성 할 것이라 생각합니다.