7

我正在尝试将自定义工作流活动加载到 crm 服务器上。我将项目加载到服务器上,并一直在使用 CRM 插件注册工具。服务器是 CRM2011,因此支持 .NET 4.0 活动。但是,当我按下“注册”按钮(程序集成功加载到工具后)时,会出现以下错误:

`Unhandled Exception: System.ServiceModel.FaultException'1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Action failed for assembly 'ExecuteSQLJob, Version=1.0.0.0, Culture=neutral, PublicKeyToken=914788311ab3af7d': **Assembly must be registered in isolation**.
Detail: <OrganizationServiceFault xmlns="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorCode>-2147220906</ErrorCode>
  <ErrorDetails xmlns:a="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
  <Message>Action failed for assembly 'ExecuteSQLJob, Version=1.0.0.0, Culture=neutral, PublicKeyToken=914788311ab3af7d': Assembly must be registered in isolation.</Message>
  <Timestamp>2012-06-21T19:50:30.5216535Z</Timestamp>
  <InnerFault>
    <ErrorCode>-2147220906</ErrorCode>
    <ErrorDetails xmlns:a="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
    <Message>Action failed for assembly 'ExecuteSQLJob, Version=1.0.0.0, Culture=neutral, PublicKeyToken=914788311ab3af7d': Assembly must be registered in isolation.</Message>
    <Timestamp>2012-06-21T19:50:30.5216535Z</Timestamp>
    <InnerFault i:nil="true" />
    <TraceText i:nil="true" />
  </InnerFault>
  <TraceText i:nil="true" />
</OrganizationServiceFault>`

`Server stack trace: 
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)`

`Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.Xrm.Sdk.IOrganizationService.Create(Entity entity)
   at Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.CreateCore(Entity entity)
   at PluginRegistrationTool.RegistrationHelper.RegisterAssembly(CrmOrganization org, String pathToAssembly, CrmPluginAssembly assembly) in C:\hbs\apps\prod\hbs\downloads\crm2011\crm2011_MicrosoftDynamicsCRM2011SDK\sdk\tools\pluginregistration\RegistrationHelper.cs:line 227
   at PluginRegistrationTool.PluginRegistrationForm.btnRegister_Click(Object sender, EventArgs e) in C:\hbs\apps\prod\hbs\downloads\crm2011\crm2011_MicrosoftDynamicsCRM2011SDK\sdk\tools\pluginregistration\PluginRegistrationForm.cs:line 452`

隔离注册是什么意思?只是程序集在服务器上保存位置的问题还是更复杂?

到目前为止,我一直在关注 MSDN 的教程,但找不到对此的解释。

谢谢!

4

1 回答 1

19

如果您不是部署管理员,那么您需要在隔离模式下注册它。

http://blogs.msdn.com/b/crminthefield/archive/2011/08/17/error-message-assembly-must-be-registered-in-isolation-when-registering-plugins-in-microsoft-dynamics- crm-2011.aspx

将用户添加为部署管理员

于 2012-06-21T20:52:49.213 回答