微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用C#中的“ Microsoft.CrmSdk.XrmTooling.CoreAssembly”连接Dynamics 365统一接口

如何解决无法使用C#中的“ Microsoft.CrmSdk.XrmTooling.CoreAssembly”连接Dynamics 365统一接口

我们正尝试使用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()'。无法 登录到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;
    }

解决方法

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

,

希望您已完成一些先决条件,例如在CRM和Azure AD App注册中创建“应用程序用户”,并且最新版本是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}"
  />
,

我遇到了同样的问题,在删除每个.dll文件并重新安装它们后,它可以正常工作。因此,我猜您对.dll版本有问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。