Les versions SPFileVersionCollection et SPListItemVersionCollection semblent incohérentes pour moi. Incohérence ne serait pas un problème pour moi, mais l'ordre de tri est.SPFileVersionCollection - pourquoi les versions sont triées dans un ordre mélangé?
SPListItemVersionCollection
Je peux comprendre versionnage de ListItems comme ils sont stockés dans l'ordre décroissant:
SPContext.Current.ListItem.Versions.Count -> 5
SPContext.Current.ListItem.Versions[0].VersionId -> 1026 (2.2 latest version)
SPContext.Current.ListItem.Versions[1].VersionId -> 1025 (2.1)
SPContext.Current.ListItem.Versions[2].VersionId -> 1024 (2.0)
... [4].VersionId -> (oldest version)
SPFileVersionCollection
Cependant, je ne peux pas comprendre comment les numéros de version sont enregistrés pour une bibliothèque de documents article:
SPContext.Current.ListItem.File.Versions.Count -> 4
SPContext.Current.ListItem.File.Versions[0].ID -> 512 (1.0 oldest one)
SPContext.Current.ListItem.File.Versions[1].ID -> 513 (1.1)
SPContext.Current.ListItem.File.Versions[2].ID -> 1025 (2.1 latest version)
SPContext.Current.ListItem.File.Versions[3].ID -> 1024 (2.0 (EDIT: IsCurrentVersion = True))
Ils ne sont ni dans l'ordre ascendant, ni descendant, mais quelque chose de mélangé.
Y at-il une raison pour que l'équipe SharePoint décide de stocker des versions de SPFile comme ça? Et est-ce qu'ils s'attendent à ce que j'écrive ma propre méthode pour obtenir la dernière version ou y en at-il une intégrée? Une remarque: Permettez-moi de souligner que SPListItem.File n'est pas null pour les éléments de la bibliothèque de documents.
vos deux derniers points points me semblent contradictoires - si 'Count' est 0 jusqu'à ce que l'un soit publié, comment peuvent-ils être ajoutés à' SPFileVersionCollection'? – Nacht
@Nacht merci pour le commentaire. Longtemps depuis que cela a été testé, trop paresseux pour aller sur SharePoint pour s'assurer, mais [cette réponse] (http://social.msdn.microsoft.com/Forums/sharepoint/en-US/24486a73-bfe0-4ed9- bf6f-32b416cbaf16/quelle-est-la-relation-entre-spfileversions-et-splistitemversions) pourrait faire la lumière: "' SPListItem.Versions.Count' est toujours 1 de plus que 'SPFile.Versions.Count'. SPFile' considère la dernière version comme la version actuelle et ne l'inclut donc pas dans sa collection de versions " –