Sharepoint 2007 a une API qui est loin d'être claire. La documentation n'aide pas beaucoup.

La récupération des versions d'un document dans une document library n'est pas aisée ...

La version courante
  • le contenu : SPFile.OpenBinary()
  • les propriétés : SPFile.Item
  • le label de version : SPFile.UIVersionLabel
Les autres versions

Je pensais pouvoir récupérer le SPFile correspondant à la version en question et de là récupérer ses propriétés de la façon suivante :

SPFileVersion spFileVersion = spFile.Versions[0];
SPWeb spWeb = spFileVersion.File.Item.Web;
SPFile spVersionFile = spWeb.GetFile(spFileVersion.Url);

mais spVersionFile.Item est null ...

En fait il faut faire, à partir du spFileVersion :

  • le contenu : spFileVersion.OpenBinary()
  • les propriétés : spFileversion.File.Item.Versions[spFileVersion.ID]
  • le label de version : spFileVersion.VersionLabel