AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.04.2020, 15:55   #1  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
VS 2019 - Remote Debugger и отладка плагинов от кастомных событий через PluginProfile - проблемы.
Доброго времени суток всем.
Мы недавно обновили инструменты разработки, и столкнулись с рядом проблем при отладке плагинов Dynamics 360(9) (onPrim).

1. Новый Remote Debugger от 2019 visual studio - намертво завешивает CRM сразу после подключения к w3wp.exe процессу - даже не доходя до точки останова. С более ранними версиями такого не происходило.
Поскольку команда у нас маленькая, такая отладка на тесте у нас применялась без особого дискомфорта для программистов.

На другой копии CRM отладка через 2019 дебаггер сначала запустилась, но при повторных попытках зависание наступило и там. Перезагрузки сервера, отладчика не помогают.

2. В свете вышеописанного было принято решение перейти на отладку с помощью PluginProfile, однако и здесь нас постигла неудача. Львиная доля плагинов в нашей системе исполняются по кастомным Action, которые срабатывают по скрипту с вызовом этого кастомного процесса.
А в ответ на вызов при использовании PluginProfile возвращается не привычный эксепшен:


и предложение загрузить файл для отладки, а Alert() или Notification - с потрохами файла см скрин:

Очень хочется разобраться с обеими проблемами, возможно кто то что то подскажет? Пока будем трейсингом логов отлаживать....
Спасибо за внимание.

Последний раз редактировалось ximik33rus; 02.04.2020 в 16:01.
Старый 02.04.2020, 16:23   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Если у вас доступен профайлинг в сущность, то это выход для вас. Посмотрите как это делается тут - https://www.youtube.com/watch?v=Ife_rHq-wSo

Иначе - трейсинг.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 03.04.2020, 08:37   #3  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
Доступен, правда если делать по видео при Start Exicution возникает ошибка...

X++:
Unhandled Exception: System.IO.FileNotFoundException:       "Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"     .     .
    System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type)
    System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
    System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
    System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg)
    System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent)
    System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly, RuntimeType caType)
    PluginProfiler.Library.ProfilerUtility.GetProxyTypesAssembly(Assembly pluginAssembly)
    PluginProfiler.Library.DeserializedProfilerReport..ctor(String serializedReport, Assembly pluginAssembly)
    PluginProfiler.Library.ProfilerUtility.DeserializeProfilerReportInternal(String assemblyFilePath, String serializedReport)
    PluginProfiler.Library.AppDomainProxy.InitializeProxy(String assemblyFilePath, String typeName, String logFilePath, String compressedreport)
    PluginProfiler.Library.AppDomainProxy.InitializeProxy(String assemblyFilePath, String typeName, String logFilePath, String compressedreport)
    PluginProfiler.Library.AppDomainProxy.CreateProxy(Type type, AppDomain domain, OperationConfiguration configuration, IList`1 trustedAssemblies, IList`1 partlyTrustedAssemblies)
    PluginProfiler.Library.ProfilerExecutionEngine.Execute(ProfilerExecutionConfiguration configuration)
    PluginProfiler.Library.ProfilerExecutionUtility.Execute(PluginPermissions permissions, ProfilerExecutionConfiguration configuration)
    PluginProfiler.Library.ProfilerExecutionUtility.Execute(PluginPermissions permissions, OperationConfiguration operation, ProfilerReportingConfiguration reporting, CrmServiceClient administratorProxy, ITracingService tracing)
    Microsoft.Crm.Tools.DebugPlugin.DebugPluginViewModel.btnExecutionClicked()


При этом плагин рабочий, правда там задействуются ILМerge и SPKL, а в остальном плагин простейший. А ругается вообще на основную библиотеку Xrm..


UPD: Хотя я смотрю он тут 9.0.0.0 а PRT я использовал 8.2, попробую на 9 сейчас...

Последний раз редактировалось ximik33rus; 03.04.2020 в 09:31.
Старый 03.04.2020, 10:18   #4  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
X++:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:       "Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10"     .     .
Detail: <OrganizationServiceFault xmlns="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <ActivityId>00000000-0000-0000-0000-000000000000</ActivityId>
  <ErrorCode>-2147220970</ErrorCode>
  <ErrorDetails xmlns:a="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
    <KeyValuePairOfstringanyType>
      <a:key>CallStack</a:key>
      <a:value i:type="b:string" xmlns:b="http://www.w3.org/2001/XMLSchema">    pl_sendGoodfin.BasePL.Execute(IServiceProvider serviceProvider)
    PluginProfiler.Library.PluginAppDomainProxy.ExecuteCore(Stopwatch watch, ProfilerExecutionReport report, Object instance, Object executionParameter)
    PluginProfiler.Library.AppDomainProxy.Execute(ProfilerExecutionConfiguration configuration, ProfilerExecutionReport report)</a:value>
    </KeyValuePairOfstringanyType>
  </ErrorDetails>
  <HelpLink i:nil="true" />
  <Message>      "Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10"     .     .</Message>
  <Timestamp>2020-04-03T07:16:18.7873328Z</Timestamp>
  <ExceptionRetriable>false</ExceptionRetriable>
  <ExceptionSource i:nil="true" />
  <InnerFault i:nil="true" />
  <OriginalException i:nil="true" />
  <TraceText i:nil="true" />
</OrganizationServiceFault>
Да, из-за дополнительных библиотек отладку через профайлер не дает сделать...
Старый 03.04.2020, 16:20   #5  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
В вы эти библиотеки тоже через ILMerge подцепляете или же каким то другим образом? Я пользовался этим же подходом и все работало правильно.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 03.04.2020 в 16:26.
Старый 06.04.2020, 09:49   #6  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
да, через ILMerge, сам плагин работает корректно. Версия CRM и PluginRegistration совпадают. Но вот при попытке старта Exception - возникает та ошибка.
Старый 06.04.2020, 15:30   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Скорее всего виной не те библиотеки, которые были добавлены через ILMerge, а те, которые используются этими библиотеками.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 07.04.2020, 08:17   #8  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
Не исключено, а про зависание CRM при подключении к удаленному отладчику еще до точки останова и выполнения плагина ничего не знаете?

Проблема плавающая, то есть то нет..
Старый 07.04.2020, 14:50   #9  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Не смогу с этим помочь.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 08.04.2020, 08:23   #10  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
Ладно, будем разбираться, если найдется решение, отпишусь

Спасибо за ответы
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Remover Horário de Verão no Brasil em 2019 [Remove Daylight Saving Time in Brazil in 2019] Blog bot Dynamics CRM: Blogs 0 19.07.2019 23:14
survivingcrm: Catching the Wave 2 for 2019 Power Platform Updates Blog bot Dynamics CRM: Blogs 0 10.06.2019 23:20
Van Vugt: NAV 2013 - Debugger Blog bot Dynamics CRM: Blogs 0 06.04.2013 21:46
axforum blogs: Отладка плагинов, которая не вредит нервной системе Blog bot Dynamics CRM: Blogs 0 16.04.2012 15:12
Удаленная отладка плагинов ZooY Dynamics CRM: Разработка 5 20.03.2011 04:30

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:02.