У меня есть настраиваемое приложение, использующее 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.