【发布时间】:2018-08-24 20:01:22
【问题描述】:
我有一个 API 项目和一个包含接口的类库项目。所以我有第三个实现接口的项目和一个实现与项目3相同接口的项目。因此,项目3和4知道项目2。
我的问题是我想通过我的类库项目(第二个)调用实现,但是这个项目不知道实现项目。
如何通过我的第二个项目调用实施项目?
想法是我有很多实现项目,所以我只想创建另一个新项目并实现接口,而不必对项目2中的代码进行太多更改。
我在所有项目中都使用 .NET Core 2.0
【问题讨论】:
-
你做错了什么。具有抽象的程序集永远不应该关心实现
-
不太确定,但您是否正在寻找像 Ninject 这样的依赖注入?
-
@maccettura 我的第二个项目需要知道所有实现接口的项目吗?
-
@Alberto 包含抽象的程序集应该可以被实现这些接口的程序集访问,但反之则不行。即使您愿意,您也无法这样做,因为这是“循环依赖”。我们需要更多细节和具体示例才能提出替代方法
-
@Alberto 你需要阅读依赖注入和 IOC 容器。您的 Web API 程序集应该引用抽象程序集和实现程序集。 Web API 项目是您将使用 IOC 容器将具体实现映射到抽象的地方
标签: c# asp.net-core .net-core