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