【发布时间】:2013-07-23 05:34:43
【问题描述】:
我创建了一些我需要修复的私生子洋葱架构。具体来说,我的 UI 层 (MVC) 中引用了我的依赖解决方案。我需要将它们拉出到他们自己的 WebActivator 程序集中,正如我看到的到处推荐的那样,但我遇到了一堵大墙,找不到如何绕过它的解释。
我们的构建过程实际上构建了一个 web 包,以通过 xcopy 部署到服务器以用于所有意图和目的。这会运行 web.config 转换,仅包含项目文件等,因此我们可以确定发生了什么。
但是当 MVC 站点没有对 DI 项目的引用时,如何在此过程中将其复制过来?理想情况下,我希望避免在我的 PSake 构建脚本中添加一个部分,以便在构建项目后复制这个 DLL,但我不确定我最好的选择是什么。
【问题讨论】:
-
我不明白为什么你应该将“依赖解析的东西”提取到“他们自己的......程序集”中。在您的 Web 应用程序中拥有您的组合根是很常见的(它使一切变得如此简单)。看看这个相关的问题:stackoverflow.com/questions/9501604/…
-
最后我同意史蒂文的意见。我为了符合一种架构而符合一种架构。我没有理由将 IoC 抽象到它自己的层中,这会导致太多问题。
标签: asp.net-mvc dependency-injection onion-architecture