Поле или свойство "StorageMetrics" не существует. "Microsoft.SharePoint.Client.ServerException - PullRequest
0 голосов
/ 07 мая 2019

У меня проблема с 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. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 07 июня 2019

Вероятно, у вас должна быть версия SP SP> 15

...