Dynamics CRM插件開發及調試

本文介紹Dynamics CRM插件開發及插件調試服務器

工具:VS201五、Developer Toolkit for Microsoft Dynamics 36五、PluginRegistrationdom

需求:我須要用插件開發的方式給客戶實體的客戶編碼字段賦值ide

步驟一:首先須要下載安裝Developer Toolkit for Microsoft Dynamics 365工具,安裝完成後在VS中會出現Dynamics 365模板, 在VS中添加Developer Toolkit 路徑。工具

打開 Visual Studio > 工具 > 選項 ,找到Dynamics 365 Developer Toolkit中的Tool Paths,設定好本身的插件註冊工具文件路徑和CRM SDK的Bin目錄,我這裏分別設置爲 C:\DynamicsCRM\SDK2016UR1\SDK\Tools\PluginRegistration 和 C:\DynamicsCRM\SDK2016UR1\SDK\Bin編碼

 

步驟二:在VS中使用Dynamics 365模板新建項目,具體操做以下截圖:spa

 1.新建解決方案也能夠選擇第一項,可建立多個類型的項目如插件和工做流。這裏只選擇插件項目插件

2.創建與CRM服務器的鏈接。也能夠不用鏈接,放到後面的PluginRegistration工具鏈接,我這裏主要是使用PluginRegistration工具,這個Developer Toolkit for Microsoft Dynamics 365工具我主要用來建解決方案3d

3.添加類,編寫插件調試

 

4.這裏將代碼複製過來(我是參照石頭居的博客)日誌

using System;

// Microsoft Dynamics CRM的命名空間之一
using Microsoft.Xrm.Sdk;

namespace Microsoft.Crm.Sdk.Samples
{
    public class AccountNumberPlugin: IPlugin
    {
        public void Execute(IServiceProvider serviceProvider)
        {
            // 獲取執行上下文
            IPluginExecutionContext context =

                (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));

            // InputParameters屬性包含全部輸入參數數據
            if (context.InputParameters.Contains("Target") &&
                context.InputParameters["Target"] is Entity)
            {
                // 從輸入參數中獲取Target參數
                Entity entity = (Entity)context.InputParameters["Target"];
                //檢測輸入的Target參數,判斷其邏輯名稱是不是account.
                if (entity.LogicalName == "account")
                {
                    // 判斷客戶記錄的客戶編碼字段accountnumber是否有值
                    if (entity.Attributes.Contains("accountnumber") == false)
                    {
                        // 沒有客戶編碼,那麼賦一個隨機數字
                        Random rndgen = new Random();
                        entity.Attributes.Add("accountnumber", rndgen.Next().ToString());
                    }
                    else
                    {
                        // 拋出一個錯誤,注意,錯誤的類型!
                        throw new InvalidPluginExecutionException("The account number can only be set by the system.");
                    }                    
                }
            }
        }
    }
}

 5.添加簽名  右鍵解決方案>屬性

 

 5.建立完成以後從新生成一下解決方案

 6.用pluginsRegistration工具進行註冊。工具位置在SDK>Tools文件夾中。先註冊項目而後新建步驟。

 

 

7.完成。看一下運行的效果看看插件是否生效

步驟三:插件調試  寫的代碼沒有生效或者是出錯,須要進行插件的調試

1.打開pluginRegistration工具安裝分析器 profiler

 

 

2.選中要調試的插件,step,點擊Start Profiling

 

3.去CRM中操做實體,下載日誌文件

 

 

 4.回到插件註冊器關掉profiling

 

5.點擊Debug

 

6.到VS2015,設置斷點,附加PluginRegistration進程

 

 7.再回到插件工具點擊執行

 

8.這時就會看到斷點生效,進行調試

相關文章
相關標籤/搜索