从2011年到2016年升级Dynamics CRM

l--*_*''' 6 c# asp.net visual-studio dynamics-crm-2011 dynamics-crm-2016

由于对CRM知之甚少,我们的任务是从CRM 2011中公开数据和其他功能.我们开发了一个RESTful包装器,允许其他开发人员在他们的应用程序中利用它.一些示例端点可能是:

API/v2/Accounts(someguid)
API/v2/Lead/Create {json object}
etc
Run Code Online (Sandbox Code Playgroud)

此应用程序需要升级以支持动态2016.我们启动了2011应用程序,并简单地将配置变量更改为指向2016实例.到目前为止,我们无法做任何事情,因为在第二行之后:

        var context = new XrmServiceContext(_organizationService);

        var crmUser = (from systemUser in context.SystemUserSet
                       where systemUser.DomainName == user.DomainUserName
                       select systemUser).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

我得到认证失败的例外:

在此输入图像描述

当从11升级到16时,这确实是一个已知的身份验证问题,还是我错过了什么?

Dar*_*ryl 5

在CRM 2011和2016之间进行了无数的身份验证更改.SDK应该可以无缝地为您处理所有这些问题.

https://www.microsoft.com/en-us/download/details.aspx?id=50032下载最新版本,并更新您在项目中引用的任何Microsoft.Xrm.*dll.

如果您正在使用Nuget,则可以添加以下内容:

  • Microsoft.CrmSdk.Extensions(7.1.0.1 - 这包含旧的CRM连接方法.它将会消失,但目前仍然兼容)
  • Microsoft.CrmSdk.Deployment(8.2.0.2)
  • Microsoft.CrmSdk.Workflow(8.2.0.0) - >这个实际上应该是可选的.

一旦更新了引用,重建并重试.