【问题标题】:Not able to connect Dynamics 365 Unified Interface by using "Microsoft.CrmSdk.XrmTooling.CoreAssembly" in C#无法在 C# 中使用“Microsoft.CrmSdk.XrmTooling.CoreAssembly”连接 Dynamics 365 统一接口
【发布时间】:2020-10-08 07:41:31
【问题描述】:

我们正在尝试使用 Microsoft.CrmSdk.XrmTooling.CoreAssembly 和参数 ClientId 和 ClientSecret 通过 C# 代码(在 Azure 上托管的 WebAPI)连接 Dynamics 365 统一接口实例。但我们遇到了错误。

“无法连接到 CRM:找不到方法:'System.String Microsoft.Xrm.Sdk.Organization.OrganizationDetail.get_EnvironmentId()'。 找不到方法:'System.String Microsoft.Xrm.Sdk.Organization.OrganizationDetail.get_EnvironmentId()'.Unable 登录 Dynamics CRM 无法登录 Dynamics CRMOrganizationWebProxyClient 为空 OrganizationWebProxyClient 为 空"

请注意,我们在 Framework 4.6.2 中使用了最新的 NuGet 版本的“Microsoft.CrmSdk.XrmTooling.CoreAssembly”。

下面是我们写的代码

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

    IOrganizationService organizationService = null;

    string organizationURI = "https://OrgName.api.crm.dynamics.com/XRMServices/2011/Organization.svc";
    string clientId = "Clientid";
    string clientSecret = "ClientSecret";

    var connection = new CrmServiceClient($@"AuthType=ClientSecret;url={organizationURI};ClientId={clientId};ClientSecret={clientSecret}");

    if (connection.IsReady)
    {
      organizationService = connection.OrganizationWebProxyClient != null ? connection.OrganizationWebProxyClient : (IOrganizationService)connection.OrganizationServiceProxy;
    }

【问题讨论】:

  • 我在使用 AuthType OAuth 和 Office365 时遇到同样的错误。有什么解决办法吗?
  • 看起来您正在连接到肥皂端点。您是否打算连接到 REST (web api) 端点?

标签: c# dynamics-crm dynamics-crm-online dynamics-365


【解决方案1】:

我遇到了同样的问题,在我删除了每个 .dll 文件并重新安装它们之后,它就可以工作了。所以,我猜你的 .dll 版本有问题。

【讨论】:

    【解决方案2】:

    我需要使用 Microsoft.CrmSdk.XrmTooling.CoreAssembly 9.1.0.25 与 Azure Functions v1 的旧 Newtonsoft.Json 版本兼容,并且在安装更新版本的 Microsoft.CrmSdk.CoreAssembly(最新版本)之前出现此错误当时工作时,9.0.2.27 和 9.0.2.33 在两个不同的应用程序中)。

    【讨论】:

      【解决方案3】:

      希望您已完成必要步骤,例如在 CRM 和 Azure AD 应用注册中创建应用程序用户,并且最新版本为 9.1.0.13 或更高版本,以便使用 ClientSecret 进行连接。 Reference

      您的organizationURI 也有问题。此端点/XRMServices/2011/Organization.svc 已弃用,随时会被删除。

      改为使用https://contosotest.crm.dynamics.com 进行连接。 Read more

      <add name="MyCDSServer" 
        connectionString="
        AuthType=ClientSecret;
        url=https://contosotest.crm.dynamics.com;
        ClientId={AppId};
        ClientSecret={ClientSecret}"
        />
      

      【讨论】:

      • 非常感谢 Arun 的回复,实际上我们已经引用了您提供的相同链接并验证了“contosotest.crm.dynamics.com”。您对此还有什么想法吗?
      • @InkeySolutions 嗯,有趣的是,为了让它工作,调整一些东西应该很愚蠢。让我也检查一下我的结局
      猜你喜欢
      • 1970-01-01
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多