0

我们最近为我们的大多数内部解决方案调整了以下通用结构:

SolutionRoot
    Interfaces
    Models
    Services
    Repositories
    Web

其中Services,Repositories并且Web仅直接引用InterfacesModels项目。所有依赖项都通过 IoC 容器进行管理(我们在内部框架中创建了一个自定义包装器)。当然,ServicesRepositories可能有自己的外部依赖集。

现在,当我们部署WebMVC 项目时,我们显然需要在bin文件夹中拥有所有必要的 DLL。因为从Web项目到特定实现没有直接依赖关系,所以我最终为项目编写了一个简单的构建后脚本ServicesRepositories它将所有相关的 DLL 复制到(或任何其他使用项目的bin文件夹)Web)。然后我需要在项目中包含相关的 DLL 并将它们标记为内容。

显然,这不是管理部署依赖关系的最舒适的方式。

我想知道是否有更好的方法来解决这个问题。

注意:此时,我们还没有 CI 服务器,近期也没有计划。

4

1 回答 1

0

如果以下所有假设都为真:

  • 您团队的惯例是永远不要直接从 Web 使用服务和存储库中的实现
  • 该公约得到很好的理解和遵守
  • 您不需要为不同的部署引用不同的实现

然后采用简单的方法,只需在 Web 项目中引用这些项目。

否则,您将陷入构建后事件。

于 2013-01-29T12:46:15.213 回答