调试Dynamics CRM插件

时间:2015-06-11 13:54:19

标签: c# plugins dynamics-crm dynamics-crm-online

我在调试Dynamics CRM Online(2015)插件(C#)时遇到问题。我按照undefined behaviour上的说明附加到流程。在Attach To Process窗口中,我选择"显示来自所有用户的流程"并刷新。但是,我没有看到列出的四个服务流程中的任何一个(我认为插件类型是"在线"在我的情况下)。

  • w3wp.exe(在IE中打开CRM Online实例时)
  • Microsoft.Crm.Application.Hoster.exe
  • CrmAsyncService.exe
  • Microsoft.Crm.Sandbox.WorkerProcess.exe

我已经使用插件注册工具部署并注册了该插件。我之前从未这样做过,所以我可能会采取错误的方式。有什么想法吗?

1 个答案:

答案 0 :(得分:8)

根据您引用的链接,如果您使用的是Dynamics CRM Online,则无法附加到任何CRM流程,因为它们未在本地运行。

第一段说明(我强调):

  

以下步骤描述了如何调试正在执行的插件   Microsoft Dynamics CRM 2015内部部署。 调试插件   您必须在Microsoft Dynamics CRM Online上的沙箱中执行   使用[sic]跟踪,如本主题后面所述

您需要使用Plugin Profiler来调试在CRM Online中执行的插件。

来自 Analyze plug-in performance

  
      
  1. 运行插件注册工具。您可以在SDK的Tools \ PluginRegistration文件夹中找到该工具的可执行文件。   下载Microsoft Dynamics CRM SDK包。
  2.   
  3. 单击或点击“创建新连接”以连接到Microsoft Dynamics CRM服务器和组织。有关的更多信息   连接到服务器和组织,请参阅SDK主题:   Walkthrough: Register a plug-in using the plug-in registration tool
  4.   
  5. 在Microsoft Dynamics CRM服务器上注册插件并单步执行。在计算机上保留调试编译的插件程序集的副本   在哪里运行该工具。
  6.   
  7. 在目标组织的工具栏中,选择“安装Profiler”。您现在将在列表中看到Plug-in Profiler节点。
  8.   
  9. 选择插件步骤,然后单击工具栏中的“开始分析”以开始分析。您可以选择分析器在中执行的方式   显示“Profiler设置”对话框。
  10.   
  11. 在Microsoft Dynamics CRM中执行导致插件运行的操作。例如,如果为更新配置了该步骤   到帐户,然后更新帐户。
  12.   
  13. 如果您在“Profiler设置”对话框中选择了“例外”选项,则插件会引发异常和业务流程   显示错误对话框,单击“下载日志文件”并保存该文件。   或者,如果插件未引发异常,请单击“停止”   概要分析。
  14.   
  15. 在Plug-in Registration工具中,单击Debug。
  16.   
  17. 在“调试现有插件”对话框中,在“设置”选项卡中提供所需的信息。输入之前的位置   保存日志文件在配置文件字段中。输入或选择的位置   插件程序集和插件的类名   执行。
  18.   
  19. 启动Microsoft Visual Studio并将调试程序附加到PluginRegistration.exe进程。
  20.   
  21. 在插件代码中设置断点。
  22.   
  23. 单击“调试现有插件”对话框中的“开始执行”。
  24.   
  25. 稍有延迟后,插件将使用Microsoft Dynamics CRM传递给它的相同执行上下文执行   服务器和调试器将停止在您的断点上执行   以前设定。
  26.   
  27. 像往常一样继续调试插件。插件输出的任何跟踪都显示在Debug an Existing Plug-in中   对话框。
  28.         

    此时您可以更改插件代码,构建它,重新附加   调试PluginRegistration.exe进程,然后单击“开始”   执行以继续调试会话。表演时   这些操作,您不需要关闭Debug an Existing   插件形式。

         

    您无需将插件重新部署到Microsoft Dynamics CRM   服务器,直到你修复了代码问题。这个调试   即使您具有插件的优化版本,场景仍然有效   服务器和计算机上的插件的调试版本   你正在调试。