我正在使用以下项目构建.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添加引用。
该框架会自动将对DAL的引用显示为“子引用”
有人可以解释更多吗?
我想保持“精心设计的” 3层隔离架构,似乎新方法打破了这一局面。