我正面临一个问题,即SPFile.Delete()甚至从回收站删除了我的所有文件版本。我不希望删除回收站中的文件版本。
例如:我创建了同一个文件xyz.xls的4个版本。现在我从UI中删除该文件的第二个版本。这将我的第二个版本发送到回收站。现在我需要的是,当我调用SPFile.Delete()时,它应该删除文件的其他4个版本而不是回收站中的那个版本。目前它也在删除回收站中的版本。
我必须实现的是不应删除回收站中存在的文件版本。当我调用SPFile.Delete()时,只有库中存在的版本才会被删除。
在某些地方提到的解决方案.Recycle()只会将所有版本移动到回收站。但我需要的是,库中存在的文件版本应永久删除,而回收站中存在的文件版本不应删除。
答案 0 :(得分:1)
您可以循环浏览文件的版本并逐个删除它们。它可能会慢一点,但我认为它会达到你想要的效果
foreach(SPFileVersion version in file.Versions)
{
version.Delete()
}
这样,您只会删除当前在文件中但不在回收站中的版本。