我在调试Dynamics CRM Online(2015)插件(C#)时遇到问题。我按照undefined behaviour上的说明附加到流程。在Attach To Process窗口中,我选择"显示来自所有用户的流程"并刷新。但是,我没有看到列出的四个服务流程中的任何一个(我认为插件类型是"在线"在我的情况下)。
我已经使用插件注册工具部署并注册了该插件。我之前从未这样做过,所以我可能会采取错误的方式。有什么想法吗?
答案 0 :(得分:8)
根据您引用的链接,如果您使用的是Dynamics CRM Online,则无法附加到任何CRM流程,因为它们未在本地运行。
第一段说明(我强调):
以下步骤描述了如何调试正在执行的插件 Microsoft Dynamics CRM 2015内部部署。 调试插件 您必须在Microsoft Dynamics CRM Online上的沙箱中执行 使用[sic]跟踪,如本主题后面所述。
您需要使用Plugin Profiler来调试在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节点。
- 选择插件步骤,然后单击工具栏中的“开始分析”以开始分析。您可以选择分析器在中执行的方式 显示“Profiler设置”对话框。
- 在Microsoft Dynamics CRM中执行导致插件运行的操作。例如,如果为更新配置了该步骤 到帐户,然后更新帐户。
- 如果您在“Profiler设置”对话框中选择了“例外”选项,则插件会引发异常和业务流程 显示错误对话框,单击“下载日志文件”并保存该文件。 或者,如果插件未引发异常,请单击“停止” 概要分析。
- 在Plug-in Registration工具中,单击Debug。
- 在“调试现有插件”对话框中,在“设置”选项卡中提供所需的信息。输入之前的位置 保存日志文件在配置文件字段中。输入或选择的位置 插件程序集和插件的类名 执行。
- 启动Microsoft Visual Studio并将调试程序附加到PluginRegistration.exe进程。
- 在插件代码中设置断点。
- 单击“调试现有插件”对话框中的“开始执行”。
- 稍有延迟后,插件将使用Microsoft Dynamics CRM传递给它的相同执行上下文执行 服务器和调试器将停止在您的断点上执行 以前设定。
- 像往常一样继续调试插件。插件输出的任何跟踪都显示在Debug an Existing Plug-in中 对话框。
醇>此时您可以更改插件代码,构建它,重新附加 调试PluginRegistration.exe进程,然后单击“开始” 执行以继续调试会话。表演时 这些操作,您不需要关闭Debug an Existing 插件形式。
您无需将插件重新部署到Microsoft Dynamics CRM 服务器,直到你修复了代码问题。这个调试 即使您具有插件的优化版本,场景仍然有效 服务器和计算机上的插件的调试版本 你正在调试。