CRM 2015 на предпосылке: ошибка профилировщика плагинов

Примечание: мы не можем использовать удаленный отладчик bcoz с ограничениями.

Я использовал профилировщик плагинов в прошлом, но никогда не сталкивался с этой ошибкой или какими-либо проблемами.

Я попробовал некоторые решения Эйлин, но не повезло. ( http://missdynamicscrm.blogspot.com/2014/05/debug-crm-2013-using-plugin-profiler.html)

Я получаю эту ошибку ниже в моем новом назначении. Кто-нибудь знает, что происходит?

Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Unexpected Exception in the Plug-in ProfilerDetail: 
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
  <ErrorCode>-2147220891</ErrorCode>
  <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
    <KeyValuePairOfstringanyType>
      <d2p1:key>OperationStatus</d2p1:key>
      <d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">3</d2p1:value>
    </KeyValuePairOfstringanyType>
    <KeyValuePairOfstringanyType>
      <d2p1:key>SubErrorCode</d2p1:key>
      <d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">-2146233088</d2p1:value>
    </KeyValuePairOfstringanyType>
  </ErrorDetails>
  <Message>Unexpected Exception in the Plug-in Profiler</Message>
  <Timestamp>2017-04-25T16:46:17.1055295Z</Timestamp>
  <InnerFault i:nil="true" />
  <TraceText>

[PluginProfiler.Plugins: PluginProfiler.Plugins.ProfilerPlugin]
[fd941d99-d629-e711-810c-005056ab45d6: ABCcorp.Xrm.MyProject.Plugins.MyPlugin: Pre Update of new_myentity with Pre Image (Profiler)]

An exception occurred during the initialization of the Plug-in Profiler.
Unhandled Exception: System.ServiceModel.CommunicationObjectFaultedException: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.

Server stack trace: 
   at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrImmutable()
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type)
   at System.ServiceModel.ICommunicationObject.Open()
   at Microsoft.Crm.Sandbox.SandboxClientBase`1.Open()
   at Microsoft.Crm.Sandbox.SandboxClientBase`1.get_Proxy()
   at Microsoft.Crm.Sandbox.SandboxOrganizationService.ProcessException(Exception e, SandboxSdkClient client)
   at Microsoft.Crm.Sandbox.SandboxOrganizationService.Execute(String operation, Byte[] serializedRequest)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]&amp; outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [1]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type)
   at Microsoft.Crm.Sandbox.ISandboxOrganizationService.Execute(String operation, Byte[] serializedRequest)
   at Microsoft.Crm.Sandbox.SandboxOrganizationServiceWrapper.ExecuteInternal(OrganizationRequest request)
   at Microsoft.Crm.Sandbox.SandboxOrganizationServiceWrapper.RetrieveInternal(String entityName, Guid id, ColumnSet columnSet)
   at Microsoft.Crm.Sandbox.SandboxOrganizationServiceWrapper.Retrieve(String entityName, Guid entityId, ColumnSet columnSet)
   at PluginProfiler.Plugins.PluginLoaderUtility.RefreshAssembly(IOrganizationService service, ProfilerConfiguration config, PluginInitializationContext context)
   at PluginProfiler.Plugins.PluginLoaderUtility.RefreshPluginInitializationContext(IOrganizationServiceFactory factory, ProfilerConfiguration config, PluginInitializationContext currentContext)
   at PluginProfiler.Plugins.ProfilerBase`1.InitializeProfiler(Dictionary`2 services, T operationContext, ProfilerPluginContext&amp; context)



</TraceText>
</OrganizationServiceFault>

2 ответа

Решение

Пара мыслей...

  1. Из какой версии SDK вы используете плагин Profiler? Это соответствует версии CRM?

  2. Я обычно хотел бы, чтобы мой код плагина также был доступен через консольное приложение, чтобы я мог отлаживать и проходить по нему без профилирования, удаленной отладки и т. Д.

В этой статье показано, как начать работу с консольным приложением, которое подключается к CRM: https://msdn.microsoft.com/en-us/library/jj602970.aspx

Моя типичная архитектура состоит в том, чтобы иметь общий проект Visual Studio, который содержит всю бизнес-логику, а затем проект плагина и консольный проект, каждый из которых получает целевую запись и передает ее в общий проект.

Например: папка visual studio, содержащая типичные проекты плагинов

Похоже, ваш сервис обработки песочницы находится в неисправном состоянии. Я бы перезапустил этот процесс, поскольку это обычно решает проблему. Эта служба должна находиться в том же окне, что и служба асинхронной обработки, но, я думаю, она может находиться в другом месте.

В любом случае найдите и перезапустите "Службу обработки песочницы Microsoft Dynamics CRM"

Если это не сработает, перезагрузите окно, на котором оно находится.

Это обычно решает проблему.

Другие вопросы по тегам