我的过程与其他海报的过程相似。
假设我有两个项目,分别称为 CoreProject 和 AppProject。CoreProject 是共享的。AppProject 有一个名为 SharedBinaries 的文件夹。这是所有程序集引用指向的地方。
我的 CoreProject 的 TFSBuild 脚本配置为执行以下操作:
- 获取最新信息
-Build Drop to drop zone(类似于\\SERVER\DropZone\CoreProjectBuildNameAndNumber)
-Drop 被复制到放置区域中的文件夹(类似于 \\SERVER\DropZone\Latest\CoreProject)
AppProject 的 TFSBuild 脚本配置为执行以下操作:
- 获取最新信息
-签出 SharedBinaries 文件夹中的文件
-从 \\SERVER\DropZone\Latest\CoreProject 复制文件
-建造
-Drop to drop zone(类似于\\SERVER\DropZone\AppProjectBuildNameAndNumber)
- 如果构建成功,则将构建复制到文件夹放置区(类似于 \\SERVER\DropZone\Latest\AppProject)并签入 SharedBinaries 中的文件
- 如果构建失败,复制到 SharedBinaries 的文件将取消签出。
我发现这非常有效。AppProject 始终使用 CoreProject 的最新版本进行构建,因此我们可以立即知道是否有重大更改。通过将 SharedBinaries 签入 TFS,我可以获得特定版本并使用当时使用的 CoreProject 中的相同 dll 运行代码。此外,我只需要获取最新版本,我的本地机器也正在使用最新版本构建。