插件的官方定义是:插件是可与 Microsoft Dynamics CRM 365 和 Microsoft Dynamics CRM Online 集成的自定义业务逻辑(代码),用于修改或增加平台的标准行为。也可以将插件认为是针对 Microsoft Dynamics CRM 触发的事件的处理程序。您可以让插件订阅或注册已知事件集,以便在事件发生时运行您的代码。实际上插件的作用就是通过代码灵活实现我们想要的逻辑。

本文介绍内容:

插件注册工具下载以及连接dynamics
插件注册的基本流程


(一) 插件注册工具下载

首先要下载插件注册工具Plug-in Registration,官方SDK文件包中提供了现成的注册工具,但是最大的问题就是SDK自带的registration tool版本太低了,现在最新版的都通过NuGet发布。
Download tools from NuGet可以从下面的连接下载,不明白的可以留言问我。

https://docs.microsoft.com/zh-cn/dynamics365/customer-engagement/developer/download-tools-nuget

打开registration tool。我们可以选On-premises和Office 365。本地注册开发可以选On-premises,Online可以选择Office 365。Office 365中正确填写username和Password既可连接到dynamic平台。

(二) 插件注册的基本流程

1.在VS中实现自己的逻辑代码。具体如何写插件,我们会在下一章节介绍。新建一个c#工程,类库框架使用FrameWork 4.5.2版本,输出类型选择类库。


2.写完插件代码,生成解决方法,在工程目录我们可以得到工程的Dll文件,以ProductSearch为例。
3.在注册之前,我们还需要完成签名的操作。如果没有签名,在注册插件的时候会发生报错。以下是我在google上搜到的一种签名方式,实际操作如下:

1.打开SDK Command Prompt或者VS2017中的Visual Studio 2017 Command Prompt.而不是windows的cmd
2.输入sn -k aspnetpager.snk,得到的文件在命令提示符的当前文件夹下
3.输入sn -p aspnetpager.snk aspnetpagerPublic.snk (从aspnetpager.snk中提取公匙存入aspnetpagerPublic.snk文件)
4.输入sn -t aspnetpagerPublic.snk 得到public key token

打开VS2017,找到项目,然后右击”项目名”找到”属性”,”属性”里面有个”Signing”(签名)的选项卡,然后钩上 “Sign the assembly”(为程序集签名),再Choose a strong name key file(选择强名称密钥文件).做完了操作,然后记得保存,编译这样你的DLL才能拖到GAC,GAC就是”全局程序集缓存”,这就是为什么你的项目的bin文件夹下没有System.Data,你都能引用的原因,因为程序会自动去找GAC,GAC的位置在win 2017中是”c:\windows\assembly”.

4.打开registration tool,点击Register->Register New Assembly,选中要注册的Dll文件,step2中可以选择要注册的方法,step3选Sandbox,step4选Database。

5.第3步完成了注册插件,然后点击Register->Register New Step.Message选择Creat。Primary Entity选择Account。最后是选择PostOperation 和Synchronous。
这一步我们可以将插件绑定到实体也可以是工作流上。以下是我们将实体绑定到Account上,Message是Creat。就是在Creat一个Account的时候,我们将会触发插件,将会执行插件代码。


这样插件注册的流程就到此结束了,如果过程中出现错误和疑问,还请大家留言讨论,谢谢!下一章将分享如何写插件代码的。

【转】Dynamics CRM 365零基础入门学习(二)Dynamics 插件注册的基本流程相关推荐

  1. 【转】Dynamics CRM 365零基础入门学习(一)Dynamics介绍以及开发工具配置

    由于公司CRM平台从Salesforce向Dynamic 365转型,因此全身心投入学习了几天Dynamic 365,国内相关的资料很少,所以总结这几天学到东西,以避免初学者走弯路. 本章分享内容介绍 ...

  2. 【转】Dynamics CRM 365零基础入门学习(四)Dynamics 使用profiler插件调试流程

    今天我们介绍一种在dynamics开发中经常会用到的调试操作,其中一种调试方式即是profile调试.以下是我在项目开发中记录的调试流程,可供参考使用. 1.打开插件注册工具,会看到install P ...

  3. 【转】Dynamics CRM 365零基础入门学习(三)Dynamics 通过Web API 来调用自定义的Action(使用插件)

    今天想实现一个Search Product的功能,首先要将数据展示在页面,然后前端根据查询需求进行处理.之前是在salesforce中实现的,可以定义一个Search Product的页面,然后在页面 ...

  4. 【转】Dynamics CRM 365零基础入门学习(五)权限管理

    一:安全角色 Microsoft Dynamics 365中的安全角色是各种实体的特权和访问级别矩阵. 它们根据其功能分组在不同的选项卡下. 这些组包括:核心记录,营销,销售,服务,业务管理,服务管理 ...

  5. 【转】Dynamics CRM 365零基础入门学习(七)Dynamics 365 DataMigrationUtility tool使用

    SDK里有个工具叫DataMigrationUtility,这个工具适合两个CRM系统之间的数据迁移.例如:在项目上线之初会做数据初始化的工作,一般这个工作会在UAT开始前完成,当UAT完成之后再把这 ...

  6. 零基础入门学习Python,我与python的第一次亲密接触后的感受!

    前言:Python是适合初学者入门最好的语言 Python适合初学者入门最好的语言 人工智能用Python?高考要加入Python?现在连微软官方Excel都要把Python作为官方语言!Python ...

  7. 零基础入门学习Python,我与python的第一次亲密接触后的感受

    前言:Python是适合初学者入门最好的语言 Python适合初学者入门最好的语言 人工智能用Python?高考要加入Python?现在连微软官方Excel都要把Python作为官方语言!Python ...

  8. 零基础学python 视频_零基础入门学习PYTHON(第2版)(微课视频版)

    小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松.愉快中学会Python! 本书提倡理解为主,应用为王.因此,只要有可能,小甲鱼(注:作者)都会通过生动 ...

  9. 零基础入门学习Python(33)-图形用户界面编程(GUI编程)EasyGui

    用户界面编程,即平时说的GUI(Graphical User Interface)编程,那些带有按钮.文本.输入框的窗口的编程 EasyGui是一个非常简单的GUI模块,一旦导入EasyGui模块,P ...

最新文章

  1. JSP利用servlet上传文件时的中文乱码问题
  2. 【数理知识】辛矩阵 symplectic
  3. 【图像】直方图均衡化
  4. linux文件系统启动流程 ---笔记整理
  5. mmap 和 shm 区别
  6. 《leetcode》longest-substring-without-repeating
  7. mysql断电同步不起作用_mysql主从同步因断电产生的不能同步问题
  8. 公共样式_设计干货 | 园路铺装的100种样式,保存收好
  9. 再谈C#里4个访问权限修饰符
  10. srsLTE源码学习:RLC,无线链路控制子层抓包rlc_pcap.h,rlc_pcap.cc
  11. MSSQL-Server On Docker
  12. 使用 telnet 命令 查看端口的开放、可用情况
  13. 林语堂:读书须有胆识,有眼光,有毅力
  14. ad15的stc元件库_常用的Altium Designer AD09 AD14 AD18元件库 原理图库(543个)+PCB封装库(509个)...
  15. 【毕设狗】【单片机毕业设计】基于单片机的红外遥控器-实物设计
  16. java写入到excel表格乱码怎么办,数据库导出excel表格是乱码-java导出excel表格乱码!...
  17. linux 脚本加密 shc
  18. 2021年十大潜力行业
  19. prisma 风格设置_Prisma中的身份验证-第1部分:设置
  20. 移动端web开发click touch tap区别

热门文章

  1. Hive分析窗口函数(五) GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
  2. RSA openssl_public_encrypt false
  3. 应用市场中包名(package name)的唯一性
  4. 较为周全的Asp.net提交验证方案 (下)
  5. memcpy函数_[PART][BUG][MSVCRT][C][CCF NOI1097] 关于memcpy的坑
  6. mysql数据库代码_【代码总结】MYSQL数据库的常见操作
  7. java 当天唯一ids_java-为不同的时间字符串接收相同的ZonedDat...
  8. ftp 服务器 文件 连接 导出,ftp 服务器 文件 连接 导出
  9. 中国电子计算机大学竞赛安徽分赛,我院学子喜获第十二届全国大学生数学竞赛安徽赛区15项一等奖...
  10. java mongodb 删除字段类型_Mongodb基本数据类型、常用命令之增加、更新、删除