VS2017中创建使用 XRM 工具常用登录控件的WPF应用程序,适用CRM9.X版本

VS2017中创建使用 XRM 工具常用登录控件的WPF应用程序,适用CRM9.X版本


微软dynamics官网之前有个CRM SDK Templates的模板,使用这个模板可以创建带有XRM工具常用登陆控件的WPF应用程序,但是在该模板已经很久没有更新了。那么如何在VS2017中创建支持CRM9.X版本的登录控件呢?请往下看。
在这里插入图片描述

前提条件

下载上图中的CRMSDKTemplates.vsix文件,点击安装,默认它会提示你VS2017可能会不兼容,不管它,安装即可。
安装完后打开VS2017出现下面的选项即成功了。但是不要新建这样的一个项目,因为会使用.net 4.5.2,CRM的SDK版本还是7。不是我们想要的结果。我尝试过了,连接CRM8.X的OP版本是没有问题的,但是CRM9.X的online版本和OP版本就会报错。
在这里插入图片描述

创建WPF项目和修改版本

  1. 创建一个普通的WPF应用解决方案,.net版本选择4.6.2。
    在这里插入图片描述
    在这里插入图片描述
  2. 选中project右键,添加新建项,选择添加一个Login Form。
    在这里插入图片描述
  3. 因为版本的原因,会提示错误。
    在这里插入图片描述
  4. 然后准备修改版本,右键Nuget管理包。选中WpfControls,点更新即可,因为其他包都依赖于它。
    在这里插入图片描述
  5. 点接受
    在这里插入图片描述
  6. 完了之后会发现packages.config文件里的版本号已经修改了。
    在这里插入图片描述
  7. 这时回到新建的Login Form,窗体已经能正常显示了。
    在这里插入图片描述

添加按钮调用登录控件进行调试

  1. 在主窗体上添加一个按钮
    在这里插入图片描述
  2. 给按钮添加click事件
    在这里插入图片描述
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            // Establish the Login control.  
            CRMLoginForm1 ctrl = new CRMLoginForm1();

            // Wire event to login response.   
            ctrl.ConnectionToCrmCompleted += ctrl_ConnectionToCrmCompleted;

            // Show the login control.   
            ctrl.ShowDialog();

            // Handle the returned CRM connection object.  
            // On successful connection, display the CRM version and connected org name   
            if (ctrl.CrmConnectionMgr != null && ctrl.CrmConnectionMgr.CrmSvc != null && ctrl.CrmConnectionMgr.CrmSvc.IsReady)
            {
                MessageBox.Show("Connected to CRM! Version: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgVersion.ToString() +
                " Org: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgUniqueName, "Connection Status");

                // Perform your actions here  
            }
            else
            {
                MessageBox.Show("Cannot connect; try again!", "Connection Status");
            }
        }
        private void ctrl_ConnectionToCrmCompleted(object sender, EventArgs e)
        {
            if (sender is CRMLoginForm1)
            {
                this.Dispatcher.Invoke(() =>
                {
                    ((CRMLoginForm1)sender).Close();
                });
            }
        }
  1. 按F5调试登录控件
    在这里插入图片描述
  2. 成功连接最新CRM9.1的Online版本
    在这里插入图片描述

总结

  1. 通过以上方法,利用CRM SDK Templates模板可以创建XRM工具登录控件,支持CRM9.X版本。
  2. 这种场景可以使用在:自己开发的基于WPF应用的CRM 工具,关联查看和修改Dynamics365的数据以及其他操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值