我正在尝试将自定义工作流程事件加载到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的教程,但找不到对此的解释。

谢谢!

最佳答案

如果您不是Deployment Administrator,则需要以隔离模式进行注册。

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

关于plugins - 程序集必须在隔离错误中注册,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11145900/

10-16 08:53