SharePoint 2010 を使用してリスト アイテムを格納し、それらのアイテムのバージョンを管理するカスタム アプリケーションがあります。検索は検索サービスを通じて機能しており、更新はクライアント オブジェクト モデルを使用して正常に行われています。現在、リスト アイテムの古いバージョンのカスタム プロパティを取得して、ユーザーに表示しようとしています。これは、SharePoint が履歴情報を表示する方法と同様に、ファイル バージョンを取得してから、変更されたプロパティのリストを表示します。
現在、次のものがありますが、ファイルのバージョンには表示可能なプロパティが表示されていません。画面に履歴を表示すると、SharePoint には変更が表示されます。
using (ClientContext context = new ClientContext(spURL)) {
Web site = context.Web;
context.Load(site);
context.ExecuteQuery();
File file = site.GetFileByServerRelativeUrl(sRelativeObjectPath);
context.Load(file);
context.ExecuteQuery();
FileVersionCollection versions = file.Versions;
context.Load(versions);
context.ExecuteQuery();
foreach (FileVersion ver in versions)
{
File verFile = site.GetFileByServerRelztiveUrl(ver.Url);
context.Load(verFile, f => f.ListItemAllFields);
//verFile.ListItemAllFields.FieldValues are null, need to get the properties of the ListItem
}
}
バージョンのプロパティ値を取得する方法について何か考えはありますか? これは SharePoint では実行されないため、SharePoint.dll にアクセスして SPQuery と SPItem を使用することはできません。