1

У меня есть простой пост для плагина для объекта Account, который делает дочерний узел в SharePoint онлайн с тем же именем созданной учетной записи.Dynamics CRM 2016 Режим онлайн-безопасности/изоляции

Я использовал класс SharePointOnlineCredentials с узла Microsoft.SharePoint.Client.Runtime для входа в экземпляр SharePoint.

Плагин работает с экземпляром на месте, если плагин установлен на isolation mode = none.

Когда я запускаю плагин в режиме изоляции Sandbox, я получаю ошибку ниже (ошибка онлайн-версии).

Я хочу запустить этот плагин на онлайн-экземпляре SharePoint, но, как я полагаю, я не могу работать в режиме онлайн с режимом изоляции = нет, есть ли другой способ запуска кода с использованием этой сборки SharePoint в онлайн-экземпляре CRM ?

Сообщение: Создание, метод: ExecutePluginLogic Исключение: System.Security.SecurityException: Запрос разрешения типа «System.Security.Permissions.SecurityPermission, mscorlib, Version = 4.0.0.0, культура = нейтральной , PublicKeyToken = b77a5c561934e089 ' не удалось. на System.Security.CodeAccessSecurityEngine.Check (Object спроса, StackCrawlMark & stackMark, булева isPermSet) при System.Security.CodeAccessPermission.Demand() в System.Net.AuthenticationManager.Register (IAuthenticationModule authenticationModule) при

Microsoft.SharePoint.Client.SharePointOnlineAuthenticationModule.EnsureRegistered() на Microsoft.SharePoint.Client.SharePointOnlineCredentials..ctor (String имя пользователя, пароль SecureString) в

MWLSPXRMToolkitOnline.Plugins.A ccountCreate.ExecutePluginLogic (IServiceProvider ServiceProvider) в MWLSPXRMToolkitOnline.Plugins.BasePlugin.Execute (IServiceProvider ServiceProvider)

Действия, которое не удалось было: Спрос типа первого разрешения, которое не удалось был:

системы. Security.Permissions.SecurityPermission зона сборки несостоявшейся была: MyComputer

ответ

1

не благоразумен, при работе в режиме Sandbox вы не можете включать ссылки другие сборки. Вы можете попробовать использовать ILMerge для объединения сборок вместе, но если бы я был вами, я бы принял другой подход, например. нажатие на внешний веб-сервис.

+0

Спасибо за советом. Я возьму предложенный внешний веб-сервис. – flowagss

0

Если вы используете ILMerge для объединения сборок (как рекомендовал Джеймс Вуд, поскольку при работе в режиме Sandbox вы не можете включать ссылки), используйте параметр '/ copyattrs' с помощью ILMerge. Если вы установили ilMarge в проекте с пакетом NuGet:

Редактирование файла в растворе: ILMerge.props Изменить параметры:

<ILMergeAllowMultipleAssemblyLevelAttributes>true</ILMergeAllowMultipleAssemblyLevelAttributes> 
<ILMergeCopyAttributes>true</ILMergeCopyAttributes>