首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在另一个引用的程序集中使用同名类型的类型?

如何在另一个引用的程序集中使用同名类型的类型?
EN

Stack Overflow用户
提问于 2017-01-19 16:14:15
回答 1查看 969关注 0票数 2

我有一种荒谬的情况(别怪我,这是第三方软件),我需要有两个引用(Erp.Contracts.BO.Quote和Erp.Contracts.BO.SalesOrder),但是在两个程序集中都定义了Erp.Tablesets.QuoteQtyRow类型!

如何在代码中使用它们?

代码语言:javascript
复制
void Absurdity()
{
    Erp.Tablesets.QuoteQtyRow qqr_Quote = null; //<-- my intention is to use the one from the quote assembly here.
    Erp.Tablesets.QuoteQtyRow qqr_SO = null; //<-- my intention is to use the one from the sales order assembly here.
}

编译器抛出一个错误。即:“类型'Erp.Tablesets.QuoteQtyRow‘存在于两个程序集中。”

编辑:限制:

  1. 我没有像这个答案Class with same name in two assemblies (intentionally)中提供的那样灵活地使用extern别名。我受到第三方软件提供的环境的限制。实际上,我需要一种方法来区分方法的主体。
  2. 我知道我可以通过使用dynamic关键字来完全避免这个问题,但是我正在寻找一个可能的强类型解决方案。
  3. 也许没有解决办法,但我想在放弃这个问题之前用尽我所有的资源。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-20 10:39:55

Epicor ERP使用一个工具将数据库中的表组合到数据集中,然后再将on放在业务对象中。此业务对象在契约程序集中进行描述,但正如您在使用引用同一个表的两个业务对象时发现的那样,您会遇到问题。这通常是SerialNumber表中的一个问题。

我从您的笔记中了解到,您正在Epicor ERP应用程序中提供方法指令或数据指令中的方法体代码。这是在客户端输入并存储在数据库中,但在部署\服务器\BPM\Source\BO文件夹中在服务器上生成代码,并被编译到部署\服务器\定制\BO文件夹中。

无法在BPM设计器的“执行自定义代码”工作流项中为引用的DLL指定别名。修整是在SCR 148549中要求的。没有可供您编辑的项目文件,即使每次启用和禁用BPM,它也将被重新生成。

但是,如果使用“调用外部方法”工作流项,则可以构建自己的dll,并将其放入Deployment\定制\Externals文件夹中。要做到这一点:

  • 在方法指令维护中,单击Actions >为您的方法创建编程接口,然后复制代码。
  • 在Visual中创建一个新的类库项目
  • 将复制的代码粘贴到.cs文件中
  • 添加程序集-框架引用:
    • System.Data.Entity
    • System.ServiceModel
    • System.Transactions

  • 向添加文件引用
    • Bin\Epicor.ServiceModel.dll
    • Assemblies\Epicor.Ice.dll
    • Assemblies\Epicor.System.dll
    • Assemblies\Ice.Data.Model.dll
    • 程序集\Erp.Data.910100.dll

  • 并为BPM的BO添加一个参考,即
    • Assemblies\Erp.Contracts.BO.Quote.dll

  • 确保所有引用都已设置为false。
  • Ice.ContextBoundBase<Erp.ErpContext>继承
  • 添加接受上下文public MyQuote (Erp.ErpContext ctx) : base(ctx){ }的构造函数

您不能完全复制和粘贴“执行自定义代码”主体,因为您将无法访问tt行变量,这些变量都在ds中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41746577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档