C# 将共享项目中的类与许多项目集成
Posted
技术标签:
【中文标题】C# 将共享项目中的类与许多项目集成【英文标题】:C# Integrating classes from Shared Projects with many projects 【发布时间】:2018-12-16 23:15:57 【问题描述】:我将一个旧项目拆分为多个组件部分,以便各个组件可供其他几个项目使用。
大约有 4 个阶段分为组件和 3 个将引用这些组件的主项目。
有一个主类(位于共享项目中,称为 Master 类以供参考)在整个共享过程中是一致的。 我已经设置了一个共享项目并添加了引用,工作正常。
当尝试使用 A 类(从项目 A 的主类版本引用)将变量传递给组件 A 的主类版本中的方法时,出现了问题,我遇到了兼容性问题。 (沿着不能隐式将 MasterClassA 转换为 MasterClassA)
我知道它们是相同的,并且我理解它们本质上是 Master 类的一个单独实例,这就是它们目前不兼容的原因。
我研究了泛型/反射,更改为可移植库类,似乎在绕圈子。 我知道反射很慢,所以我想尽可能避免它。
关于最佳实践以及如何解决问题的任何指导? 这是布局的粗略图。
【问题讨论】:
如果您需要分享您的大师班,它应该位于共享项目中。然后你可以在所有地方使用它。复制一个类并将其编译到不同的程序集中将导致完全独立的类,尽管名称和内容相同。 确实位于共享项目中,只是在别处引用。我已经更新了帖子以使其更加明显。谢谢 【参考方案1】:如果有人遇到这个问题,这个答案为我解决了这个问题;
Referencing shared project in several projects of solution
基本上我们创建一个引用共享项目的类库,然后引用新项目,而不是共享项目。
【讨论】:
以上是关于C# 将共享项目中的类与许多项目集成的主要内容,如果未能解决你的问题,请参考以下文章