【问题标题】:Upgrading Dynamics CRM from 2011 to 2016将 Dynamics CRM 从 2011 年升级到 2016 年
【发布时间】:2017-08-18 20:27:27
【问题描述】:

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

API/v2/Accounts(someguid)
API/v2/Lead/Create {json object}
etc

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

        var context = new XrmServiceContext(_organizationService);

        var crmUser = (from systemUser in context.SystemUserSet
                       where systemUser.DomainName == user.DomainUserName
                       select systemUser).FirstOrDefault();

我收到身份验证失败异常:

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

【问题讨论】:

  • 请分享您用于获取_organizationService 的代码,因为应该存在问题。您是否还对您的 CRM 配置(如 IFD 配置)进行了任何更改?还有 - 您用来调用 CRM 的用户是否映射为 CRM 用户?换句话说 - 您仍然可以使用该用户访问 CRM 吗?
  • 在 CRM 2011 和 CRM 2016 SP1 之间进行身份验证时,服务器的响应存在细微差别,但一旦更新 DLL,您应该能够进行身份验证。如上,请分享您的代码
  • @jasonscript 更新哪些 DLL?你是说sdk吗?如果是这样,我该怎么做?
  • 在连接到 CRM 的代码中,您有 Microsoft.Xrm.Sdk 等引用 dll。这些需要从您可能正在使用 atm 的 5.x 更新到版本 8.x。
  • 当然,如果您正在使用 nuget 并且有一个包升级了最新的 dll、Microsoft.CrmSdk.CoreAssemblies 或类似的东西,那么它只是进行 NuGet 升级,如果包您使用的没有升级版本,那么您必须手动执行或使用具有 8.X SDK dll 的软件包

标签: c# asp.net visual-studio dynamics-crm-2011 dynamics-crm-2016


【解决方案1】:

在 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) --> 这个实际上应该是可选的。

更新参考后,重新构建并重试。

【讨论】:

    猜你喜欢
    • 2017-05-16
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 2020-10-15
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多