【问题标题】:CRM interface cast in VB.NET throwing InvalidCastException在 VB.NET 中强制转换的 CRM 接口抛出 InvalidCastException
【发布时间】:2015-08-03 09:15:50
【问题描述】:

我正在尝试将 CRM 接口 OrganizationServiceProxy 转换为 VB.NET 中的 IOrganizationService。

此代码部分在 C# 中运行;

Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy orgProxy = new Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy(organizationUri, null, credentials, null);
Microsoft.Xrm.Sdk.IOrganizationService myService = (IOrganizationService)orgProxy;

但我需要在 VB.NET 中编写它,但它不起作用;

serviceProxy = New OrganizationServiceProxy(New Uri(uri), Nothing, credentials, Nothing)
Dim myService As Microsoft.Xrm.Sdk.IOrganizationService = TryCast(serviceProxy, IOrganizationService)

我也尝试过 DirectCast、CType,但它们也不起作用。

【问题讨论】:

  • 不工作到底是什么意思;你的代码是抛出异常还是仅仅不做你想做的事?哪条线路出现故障?
  • 抱歉的例外是:无法将“Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy”类型的对象转换为“CRMServis.IOrganizationService”类型。

标签: vb.net casting crm


【解决方案1】:

您可能在 CRMServis 项目中拥有自己的 IOrganizationService。

尝试以下方法:

Dim orgProxy As New Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy(organizationUri, Nothing, credentials, Nothing)
Dim myService As Microsoft.Xrm.Sdk.IOrganizationService = DirectCast(orgProxy, Microsoft.Xrm.Sdk.IOrganizationService)

如果您正在使用插件或工作流程,请改用:“OrganizationServiceContext”。

【讨论】:

    猜你喜欢
    • 2014-09-12
    • 1970-01-01
    • 2013-04-17
    • 2021-10-19
    • 1970-01-01
    • 2022-01-12
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多