2

我正在尝试解决在几个类库中引用共享项目的问题。

内部解决方案项目之间的引用是:

  • 类库 A -> SharedProject
  • 类库 B -> SharedProject
  • 类库 C -> SharedProject
  • 类库 C -> 类库 A
  • 类库 C -> 类库 B

在共享项目中,我只有一个要共享的具有逻辑的类,因此在每个类库项目中,我都使用共享项目中的相同类。但是在构建之后,我在类库 C 中得到以下错误:

类库 A 和类库 B 中都存在“同一类”类型

有没有办法使这项工作,或者我应该用经典类库替换共享项目?

4

1 回答 1

4

“共享项目”实际上是一种在多个项目之间共享源代码的方式,而无需构建 DLL(如在类库中)。您可以将其视为从字面上将 SharedProject 的源代码复制粘贴到类库 A 和类库 B 中。

此时应该很明显,类库 A 和类库 B 确实在 SharedProject 中定义了相同的类,但是它们都定义了它们,而不是都引用了相同的类。

您最初的直觉是正确的,正确的做法是用类库替换它,这正是它的用途。然后,您将拥有 A 和 B 都引用的 SharedProject.dll,然后 C 将引用 A.dll、B.dll 和 SharedProject.dll,这一切都应该没问题(除非版本不匹配)。

于 2017-04-06T07:40:12.250 回答