asp.net-core - .NET Core 对其他项目的引用打破了层隔离
问题描述
我正在使用以下项目构建 .NET Core Web 应用程序:
Web应用程序1(用户界面)
BLL
达尔
众所周知,UI 应该只能访问 BLL 项目类,而 BL 项目应该只能访问 DAL 项目类。
因此,我设置了以下内容:
WebApplication1 仅引用了 BLL 项目。BLL 仅引用了 DAL 项目。
在 .NET Framework 4.7(非核心)中,您无法直接从 WebApplication1 访问 DAL 类,除非您明确添加对 DAL 的引用。它很有用,因为这样您就不会意外地直接从 WebApplication1 (UI) 访问 DAL,并且您需要通过 BLL 项目这样做。
当我尝试从 .NET Framework 移植到 .NET Core 时,我发现行为已更改,我无法直接从 WebApplication1 访问 DAL 类,如屏幕截图所示,只需使用“使用 DAL”即可直接添加对 DAL 的引用。
框架自动将 DAL 的引用显示为“子引用”
有人可以解释一下吗?
我想继续“精心设计”的 3 层隔离架构,似乎新的方式打破了这一点。
解决方案
推荐阅读
- next.js - Framer-motion导入中断页面Next Js
- javascript - 如何在 Galen 框架中迭代 findChildren?
- monaco-editor - 将所有包含文件的类型定义加载到 Monaco 编辑器中
- python - 如何让刽子手记住你在 Python 中的猜测?
- swift - Swift Combine:先返回本地数据,再返回远程数据
- colors - 乘法混合模式如何计算乘法通道值?
- python - 如何从 Python 中的二进制数据中读取浮点值?
- c# - 创建对象时如何解决 System.BadImageFormatException 错误?
- mysql - 如果在另一个表中不匹配,则删除
- google-colaboratory - 将图形和数据保存到 google docs 文件中