我们最近为大多数内部解决方案采用了以下通用结构:
SolutionRoot
Interfaces
Models
Services
Repositories
Web
其中Services
,Repositories
和Web
只能直接引用Interfaces
和Models
个项目。所有依赖项都通过IoC容器进行管理(我们已在内部框架中创建了自定义包装器)。当然,Services
和Repositories
可能有自己的外部依赖关系集。
现在,当我们部署Web
MVC项目时,我们显然需要在 bin 文件夹中包含所有必需的DLL。因为Web
项目没有直接依赖于特定的实现,所以我最终为Services
和Repositories
项目编写了一个简单的构建后脚本,将所有相关的DLL复制到Web
(或任何其他消费项目)的 bin 文件夹中。然后,我需要在项目中包含相关的DLL,并将它们标记为Content。
显然,这不是管理部署依赖关系的最舒适方式。
我想知道的是,是否有更好的方法来解决这个问题。
注意:此时,我们没有CI服务器,并且在不久的将来都没有计划。
答案 0 :(得分:0)
如果满足以下所有假设:
然后选择简单的方法,并在Web项目中引用这些项目。
否则,你会遇到帖子构建事件。