.NET Core对其他项目的引用打破了层隔离

时间:2018-09-06 11:33:03

标签: asp.net-core .net-core asp.net-core-mvc

我正在使用以下项目构建.NET Core Web应用程序:

  • WebApplication1(UI)

  • BLL

  • DAL

众所周知,UI仅应访问BLL项目类,而BL项目应仅访问DAL项目类。

因此,我设置了以下内容:

WebApplication1仅引用BLL项目。 BLL仅引用DAL项目。

在.NET Framework 4.7(非核心)中,除非您显式添加对DAL的引用,否则无法直接从WebApplication1访问DAL类。之所以有用,是因为这样,您不会意外地直接从WebApplication1(UI)访问DAL,而是需要通过BLL项目进行访问。

当我尝试从.NET Framework移植到.NET Core时,我发现该行为已更改,并且不是我可以直接从WebApplication1访问DAL类,如屏幕截图所示,仅使用“使用DAL”无需直接向DAL添加引用。 enter image description here

该框架会自动将对DAL的引用显示为“子引用”

the framework automatically shows a reference to the DAL as a "child reference"

有人可以解释更多吗?

我想保持“精心设计的” 3层隔离架构,似乎新方法打破了这一局面。

0 个答案:

没有答案