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# 将共享项目中的类与许多项目集成的主要内容,如果未能解决你的问题,请参考以下文章

将matlab函数集成到c#项目中

C# 和 Delphi 集成

spring boot集成redis缓存

如何将 Qt 集成到现有的 C++ 项目中

将java项目转成svn项目

如何从 C# 访问 C++/CLI 中的类?