gpt4 book ai didi

c# - 名称为 account 的代理类型已由另一个程序集定义

转载 作者:太空狗 更新时间:2023-10-29 17:45:13 24 4
gpt4 key购买 nike

  • 我们有 2 个组织在我们的本地 CRM 2011 系统中运行。
  • 我们已经为两个组织生成了早期绑定(bind)类。
  • 我们的一个插件在停用帐户时抛出“另一个程序集定义了名为帐户的代理类型”错误。
  • 该插件仅引用早期绑定(bind)的 dll 之一。

如何让 CRM 系统尊重这些引用的命名空间。
我已经尝试了 Google 显示的一些项目,但都没有用。

由于您可以使用 2 个 vanilla 组织重现此内容,我想像我们可以在代码层之外做一些事情,而无需返回并为 2 个组织重构一堆代码。

谢谢,
乔恩

最佳答案

问题实际上是 WCF 试图反序列化服务器响应,但无法识别正确的类型。解决此问题的最佳方法是在像这样创建代理时使用 Assembly.GetExecutingAssembly() 将当前程序集传递给 ProxyTypesBehavior()。

using (serviceProxy = new OrganizationServiceProxy(config.OrganizationUri,
config.HomeRealmUri,
config.Credentials,
config.DeviceCredentials))
{
// This statement is required to enable early-bound type support.
serviceProxy.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior(Assembly.GetExecutingAssembly()));
}

关于c# - 名称为 account 的代理类型已由另一个程序集定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8594543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com