在解决方案结构中引用共享项目

Referencing shared project within solution structure

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

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

在共享项目中,我只有一个 class 具有逻辑,我想共享它,因此在每个 class 库项目中,我都使用来自共享项目的相同 class。但是在构建之后我在 Class 库 C:

中得到以下错误

'same class' 类型存在于 Class 库 A 和 Class 库 B 中

有没有办法让它工作,或者我应该用 classic class 库替换共享项目?

A 'shared project' 是一种在多个项目之间共享源代码的有效方式,无需构建 DLL(就像在 class 库中一样)。您可以将其视为字面上复制粘贴 SharedProject 的源代码到 Class 库 A 和 Class 库 B.

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

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