У меня проблема с 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());
}
Ошибка возникает в этой строке. контекст.ВыполнитьЗапрос();
Кто-нибудь знает, что вызывает это, я в основном разработчик Dynamics 365, не слишком разбирающийся в SharePoint. Пожалуйста помогите.