イベント ハンドラーの SharePoint ページ ライブラリで、ページの現在のマイナー バージョンを削除したいと考えています。
現在のバージョンが 3.15 で、このバージョンを削除したいとします。エラーをスローして item.File.Versions.DeleteByLabel を使用しています。
イベント ハンドラーの SharePoint ページ ライブラリで、ページの現在のマイナー バージョンを削除したいと考えています。
現在のバージョンが 3.15 で、このバージョンを削除したいとします。エラーをスローして item.File.Versions.DeleteByLabel を使用しています。
特定のエラーを知らなくても、 SPFileVersion.IsCurrentVersionが trueであるバージョンを削除するには、古いバージョンを復元する必要があると思います。
編集:
あなたのコメントは私が疑ったことを裏付けています。現在のバージョンを削除することはできません。さらに調べてみると、現在のバージョンが SPFileVersionCollection に存在しない可能性さえあるようです。2 番目のコメントのコードは、何のアクションも起こさない可能性があります。これを確認するには、次のことを試してください。
if (null == item.File.Versions.GetVersionFromLabel("3.15")) {
// current version isn't contained in SPFileVersionCollection
}
あなたの問題についてさらに考えてみると、本当に現在のバージョンを削除したいですか、それとも以前のバージョンにロールバックしたいですか? 後者の場合、代わりにSPFile.UndoCheckOutを使用できますか?