注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

微软MVP罗勇的博客

微软MVP罗勇,www.luoyong.me

 
 
 

日志

 
 

Dynamics CRM插件开发教程之:插件的调试  

2013-12-25 08:51:40|  分类: CRM插件 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复91或者20131225可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!

首先祝大家圣诞快乐!Merry Christmas。

我先介绍SDK上面的方法,就是先在代码中设置断点,然后使用Visual Studio的 调试 > 附加到进程 ,找到 w3wp.exe这个进程,附加,这样就可以调试了。

Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客

 

这个调试有一个很大的弊端,会导致CRM被锁住,你看下面的图片所示,正在调试中,

Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客

 

我如果新开一个浏览器在CRM做操作,这时候就会出现下面的情况,一直正在加载。

Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客

 

下面介绍另外一种方法,不会锁住CRM,虽然麻烦点,我觉得更加好。打开SDK\Bin目录下面的PluginRegistration.exe,连接上你的CRM,双击打开相应的组织,我这里是打开Demo组织,看到有个 Install Profiler ,点击它。

Dynamics CRM插件开发教程之:插件的调试之一 - 罗勇 - 罗勇的博客

 

顺利的话,一会儿就会提示你安装成功了,并且出现了一个 Plug-in Profiler 的节点,点击 确定 按钮关闭对话框。

Dynamics CRM插件开发教程之:插件的调试之一 - 罗勇 - 罗勇的博客

 

这个应该是安装了一个托管的解决方案,我们登陆CRM,导航到 设置 > 解决方案,可以看到多了一个名称为 PluginProfiler的托管类型的解决方案。我们都知道托管解决方案可以方便的卸载,以后不用的时候可以卸载。

Dynamics CRM插件开发教程之:插件的调试之一 - 罗勇 - 罗勇的博客

 

因为我的CRM是本地部署的,所以我还需要双击刚才增加的 Plug-in Profiler,在弹出窗中,选择 None,然后点击弹出窗口的Update Selected Plugins 按钮,会弹出更新成功的提示,然后关闭窗口。

Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客

 

现在就可以选择某个 Step 来调试了。我这里以我前面教程写的 Postnew_TestUpdate 这个Step作为例子。因为异步插件不好调试,所以我先将其改成同步执行的插件。就是直接修改 CrmPackage项目下面的 RegisterFile.crmregister中Name为Postnew_TestUpdate  的Step的Mode 属性更改为Synchronous,然后再部署一下。部署成功后,我刷新下这个工具,然后选中它,然后点击 Profile 按钮。

Dynamics CRM插件开发教程之:插件的调试之一 - 罗勇 - 罗勇的博客

 

就会弹出如下的对话框,我直接点击 OK 保持默认就行了。

Dynamics CRM插件开发教程之:插件的调试之一 - 罗勇 - 罗勇的博客

然后我们去做相应的操作触发插件的执行,我这里是更新某条记录的整数字段的值,保存后就会弹出错误对话框,点击保存按钮,我这里是保存为 C:\ErrorDetails.txt 。记得在PluginRegistration工具中,保持插件步骤处于选中状态,然后点击 Stop Profiling 按钮。

Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客

然后我们为代码设置一个断点,如下, 
Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客
 
再点击Visual Studio 的 调试 > 附加到进程 ,
Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客
 
在弹出的 附加到进程 对话框中,选择 PluginRegistr 开头的进程,然后点击 附加 按钮。
Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客
 
再次在PluginRegistration 这个工具中,选中之前的Step,然后点击 Debug 按钮。
 
Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客
 
在弹出的对话框中,Profile Location选择之前保存的 ErrorDetails.txt 文件,Assembly Location中选择项目所在文件夹下面的 bin\Debug 目录下的插件dll文件,确保自动带出来的Plug-in是正确的,我这里就是 CrmVSSolution1.Plugins.Postnew_TestUpdate,选择好后点击 Start Execution 按钮
 
Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客

一会儿就会执行到断点处,这样就方便调试了。
 
Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客
 
虽然上面正在进行调试,但是不会锁住CRM,其他人的操作还是正常的,下面我开了一个新窗口来更改字段值触发插件并保存,依然正常。
Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客
 
 素格格新疆特产店--做最好新疆特产的搬运工。
本店由博主的新疆老婆开设,搬运各种最好的新疆特产,是自用,送礼,年货,孝敬长辈特别是(岳)父母的首选!
Dynamics CRM插件开发教程之:插件的调试 - 罗勇 - 罗勇的博客
 
  评论这张
 
阅读(1747)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017