【问题标题】:Debugging a Dynamics CRM Plug-in调试 Dynamics CRM 插件
【发布时间】:2015-06-11 13:54:19
【问题描述】:
我在调试 Dynamics CRM Online (2015) 插件 (C#) 时遇到问题。我按照this MSDN article 上的说明附加到进程。在“附加到进程”窗口中,我选择“显示所有用户的进程”并刷新。但是,我没有看到列出的四个服务进程中的任何一个(我认为插件类型在我的情况下是“在线”)。
- w3wp.exe(在 IE 中打开 CRM Online 实例时)
- Microsoft.Crm.Application.Hoster.exe
- CrmAsyncService.exe
- Microsoft.Crm.Sandbox.WorkerProcess.exe
我已经使用插件注册工具部署并注册了插件。我以前从来没有这样做过,所以我可能会走错路。有什么想法吗?
【问题讨论】:
标签:
c#
plugins
dynamics-crm
dynamics-crm-online
【解决方案1】:
根据您引用的链接,如果您使用 Dynamics CRM Online,则无法附加到任何 CRM 流程,因为它们不在本地运行。
第一段陈述(我添加的重点):
以下步骤描述了如何调试在
Microsoft Dynamics CRM 2015 本地。 调试插件
在 Microsoft Dynamics CRM Online 的沙盒中执行,您必须
使用 [sic] 跟踪,如本主题后面所述。
您需要使用插件分析器来调试在 CRM Online 中执行的插件。
来自Analyze plug-in performance:
- 运行插件注册工具。您可以在 SDK 的 Tools\PluginRegistration 文件夹中找到该工具的可执行文件。
下载 Microsoft Dynamics CRM SDK 包。
- 单击或点击创建新连接以连接到 Microsoft Dynamics CRM 服务器和组织。有关更多信息
连接到服务器和组织,请参阅 SDK 主题:
Walkthrough: Register a plug-in using the plug-in registration
tool。
- 注册插件并登录 Microsoft Dynamics CRM 服务器。在电脑上保留一份调试编译好的插件程序集
您正在运行该工具的位置。
- 在目标组织的工具栏中,选择安装 Profiler。您现在将在列表中看到一个 Plug-in Profiler 节点。
- 选择一个插件步骤并单击工具栏中的 Start Profiling 开始分析。您可以选择探查器在
显示 Profiler Settings 对话框。
- 在 Microsoft Dynamics CRM 中执行导致插件运行的操作。例如,如果步骤配置为更新
到一个帐户,然后更新一个帐户。
- 如果您在 Profiler Settings 对话框中选择了 Exception 选项,则在插件引发异常并且业务流程
将显示错误对话框,单击下载日志文件并保存此文件。
或者,如果插件没有抛出异常,请单击停止
分析。
- 在插件注册工具中,单击调试。
- 在“调试现有插件”对话框中,在“设置”选项卡中提供请求的信息。输入之前的位置
配置文件字段中保存的日志文件。输入或选择位置
插件程序集和插件的类名
执行。
- 启动 Microsoft Visual Studio 并将调试器附加到 PluginRegistration.exe 进程。
- 在插件代码中设置断点。
- 在“调试现有插件”对话框中单击“开始执行”。
- 稍有延迟后,插件将使用 Microsoft Dynamics CRM 传递给它的相同执行上下文执行
服务器和调试器将在您设置的断点处停止执行
之前设置的。
- 像往常一样继续调试插件。插件输出的任何跟踪都显示在 Debug an Existing Plug-in 中
对话框。
此时您可以更改插件代码,构建它,重新附加
调试器到 PluginRegistration.exe 进程,然后单击开始
执行以继续您的调试会话。表演时
这些操作,不需要关闭Debug an Existing
插件形式。
您无需将插件重新部署到 Microsoft Dynamics CRM
服务器,直到您解决了代码问题。本次调试
即使您有插件的优化版本,场景也能正常工作
服务器和计算机上的插件的调试版本
你正在调试。