我们最近为我们的大多数内部解决方案调整了以下通用结构:
SolutionRoot
Interfaces
Models
Services
Repositories
Web
其中Services
,Repositories
并且Web
仅直接引用Interfaces
和Models
项目。所有依赖项都通过 IoC 容器进行管理(我们在内部框架中创建了一个自定义包装器)。当然,Services
也Repositories
可能有自己的外部依赖集。
现在,当我们部署Web
MVC 项目时,我们显然需要在bin文件夹中拥有所有必要的 DLL。因为从Web
项目到特定实现没有直接依赖关系,所以我最终为项目编写了一个简单的构建后脚本Services
,Repositories
它将所有相关的 DLL 复制到(或任何其他使用项目的bin文件夹)Web
)。然后我需要在项目中包含相关的 DLL 并将它们标记为内容。
显然,这不是管理部署依赖关系的最舒适的方式。
我想知道是否有更好的方法来解决这个问题。
注意:此时,我们还没有 CI 服务器,近期也没有计划。