MVC Asp.Net with Onion Architecture 未发布库项目 Dll。

MVC Asp.Net with Onion Architecture Not publishing Library Projects Dlls.

我有一个包含

的解决方案
  1. UI 应用程序 -> 包含 UI 和参考核心项目
  2. 核心项目 -> 不包含域模型和引用
  3. 基础结构 -> 包含 Unity Bootstrapper Proj 和 DAL Proj。 Bootstrapper -> 包含 Automapper 和 Unity DI 配置。和参考文献(UI、核心和 DAL)
    DAL -> 包含

一切都在本地构建和工作,但是当我使用 Visual Studio 发布时,它不会为 Bootstrapper 或 DAL 带来 DLL。根据我的理解,这是因为 UI 和 DAL 或 UI 和 Bootstrapper 之间没有引用。那是因为 DAL 引用了 Core 而 Bootstrapper 引用了 Everything。如何让 visual studio 将它们包含在我发布的文件中?

通常,您的 UI 项目必须包含对 Infrastructure 项目的引用,否则您如何能够 bootstrap Unity 在 Application_startup 而不触发编译器错误?

我的经验是,由于这种实际需求,应用程序的入口点总是包含对几乎所有项目的引用。因此,我建议添加此参考以解决部署问题。

洋葱架构的重点是像您所做的那样保持核心无依赖性,并保持服务(领域服务和基础设施服务等)彼此独立。所有这些都是通过明智地使用依赖注入来实现的。洋葱架构不是某种宗教来阻止您在入口点添加引用。