Dynamics CRM 2016在线安全/隔离模式



我在帐户实体上有一个简单的帖子创建插件,该插件在SharePoint在线中具有与已创建的帐户的同名相同名称。

我已经使用了从Microsoft.SharePoint.Client.Runtime汇编的SharePointOnlineCredentials类来登录到SharePoint实例。

只要将插件设置为isolation mode = none,插件就可以在本地实例上工作。

当我以沙盒隔离模式运行插件时,我会在下面获得错误(在线版本错误)。

我想在SharePoint的在线实例上运行此插件,但是我相信,我不能以隔离模式在线运行=无,还有另一种使用此SharePoint Assembly在在线CRM实例上运行代码的方法吗?

消息:创建,方法:executepluginlogic异常: System.Security.SecurityException:请求类型许可 'system.security.permissions.securitypermission,Mscorlib, 版本= 4.0.0.0,文化=中性,publicKeytoken = B77A5C561934E089' 失败的。在system.security.codeaccesssecurityengine.check(对象) 需求,stackcrawlmark&stackmark,boolean ispermset) system.security.codeaccesspermission.demand()at system.net.authenticationmanager.register(iauthenticationmodule authenticationModule)at

microsoft.sharepoint.client.sharepointonlineauthenticationmodule.senereregistered() 在 microsoft.sharepoint.client.sharepointonlinecredentials..ctor(字符串 用户名,Securestring密码)

mwlspxrmtoolkitonline.plugins.accountcreate.executepluginlogic(iserviceProvider ServiceProvider)at mwlspxrmtoolkitonline.plugins.baseplugin.execute(iserviceProvider ServiceProvider)

失败的动作是:要求 失败的第一个许可是:

system.security.permissions.securitypermissermiss 失败的组件是:mycomputer

不是明智的,在沙盒模式下运行时,您不能包括对其他组件的引用。您可以尝试使用Ilmerge将组件组合在一起,但是如果我是您,我会采取其他方法,例如将工作推向外部Web服务。

如果使用ilmerge将组件组合在一起(按照詹姆斯·伍德的建议,因为在沙盒模式下运行时,您不能包括参考文献),请使用'/copyAttrs'参数与ilmerge。如果您已使用Nuget软件包安装了该项目中的Ilmarge:

在解决方案中编辑文件:ilmerge.props更改参数:

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

最新更新