调试Dynamics CRM插件

Pau*_*aul 2 c# plugins dynamics-crm dynamics-crm-online

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

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

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

Nic*_*now 8

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

第一段状态(由我加强调,在正确使用的使用不是我做的):

以下步骤描述如何调试在本地Microsoft Dynamics CRM 2015上执行的插件.若要调试在Microsoft Dynamics CRM Online上的沙箱中执行的插件,必须使用本主题后面所述的跟踪.

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

Analyze插件性能:

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

此时,您可以更改插件代码,构建它,将调试器重新附加到PluginRegistration.exe进程,然后单击"开始执行"以继续调试会话.执行这些操作时,您无需关闭Debug an Existing Plug-in表单.

在修复代码问题之前,无需将插件重新部署到Microsoft Dynamics CRM服务器.即使您在服务器上有插件的优化版本以及正在调试的计算机上的插件的调试版本,此调试方案仍然有效.