ListItemのバージョンをループして、公開されている最新のものを見つける必要があります。SPListItemVersionCollectionを使用してバージョンをループし、SPFileLevelを確認します
SPListItemVersionCollectionに関するMSDN記事に対するSebastianWojciechowskiのコミュニティ追加によると
SPListItem.Versions[0] //this is current version of the item
SPListItem.Versions[1] //this is previous version of the item
SPListItem.Versions[SPListItem.Versions.Count - 1] //this is first version of the item
バージョンは逆の順序(新しいものから古いものへ)でインデックス付けされるため、コードは次のようになります。
// Retrieve all versions
SPListItemVersionCollection itemVersions = item.Versions;
for (int i = 0; i < itemVersions.Count - 1; i++)
{
// Check if version is published
if (itemVersions[i].Level == SPFileLevel.Published)
{
return itemVersions[i];
}
}