У меня проблема с SharePoint 2013 (версия 15) и Dynamics 365 OnPrem. Я объединил две системы для управления документами. Казалось бы, все работает нормально, сценарий таков, что электронная почта в CRM преобразуется в дело, а затем прикрепленные документы загружаются в папку в SharePoint с таким номером дела в качестве имени папки.
Все хорошо, пока я не включу управление версиями на стороне SharePoint. Сразу после этого мой код не работает, и я получаю следующую ошибку Поле или свойство «StorageMetrics» не существует. «Microsoft.SharePoint.Client.ServerException
См. Мой код ниже.
public static void UploadFile(IOrganizationService service, EntityReference sharepointSiteId, EntityReference parentSiteOrLocationId, string fileName, byte[] fileStream, Dictionary<string, object> properties = null, bool overwrite = false)
{
string sharepointSiteUrl = SharepointDocumentLocationManager.RetrieveAbsoluteAndSiteCollectionUrl(service, sharepointSiteId).AbsoluteUrl;
using (ClientContext sharePointContext = SharepointManager.GetClientContext(sharepointSiteUrl))
{
string parentSiteOrLocationUrl = SharepointDocumentLocationManager.RetrieveAbsoluteAndSiteCollectionUrl(service, parentSiteOrLocationId).AbsoluteUrl;
if (overwrite || !SharepointManager.FileExists(sharePointContext, parentSiteOrLocationUrl, fileName))
{
SharepointManager.UploadFile(sharePointContext, parentSiteOrLocationUrl, fileName, fileStream, properties);
}
}
}
public static bool FileExists(ClientContext context, string absoluteBaseUrl, string fileName)
{
Folder folder = context.Web.GetFolderByServerRelativeUrl(absoluteBaseUrl);
context.Load(folder.Files);
context.ExecuteQuery();
return folder.Files.Any(file => file.Name.ToLowerInvariant() == fileName.ToLowerInvariant());
}
Ошибка происходит в этой строке. context.ExecuteQuery ();
Кто-нибудь имеет представление о причинах этого, я в основном разработчик Dynamics 365, не слишком разбирающийся в SharePoint. Пожалуйста, помогите.