2

我们目前有 2 个解决方案,它们之间共享多个项目,并且每个项目都有一些独特的项目。我们目前为每个设置为 Gated Checkin 的解决方案都有一个构建定义。

不幸的是,似乎有多个带有门控签入集的定义意味着如果我对其中一个共享项目进行更改,它只会运行一个定义。在一个完美的世界中,我希望它在这种情况下构建两种解决方案。

我知道我可以只创建一个构建两个解决方案的构建定义,这在所讨论的场景中效果很好,但是如果我修改一个解决方案独有的项目,它仍然会构建两个解决方案,呃.

有没有办法配置我们的构建,以便我们两全其美?我希望确保共享代码在两种解决方案上都能正常工作的一致性,但我也希望构建不会花费双倍的时间来处理仅影响一种或另一种解决方案的更改(迄今为止我们最常见的用例)。

还是我只是在权衡一个或另一个?

4

1 回答 1

0

您目前情况的基本问题是“如何识别变化”?无论是普通项目还是修改的独特项目。我认为在构建代码时没有任何简单的方法可以识别这一点。

您不是最佳解决方案的一个选项是将公共项目分离到另一个解决方案中,该解决方案编译并将 DLL 放置到唯一解决方案使用的公共位置。这样,您可以拥有 3 个独立的门控签入,如果通用解决方案发生更改,您可以在相同的构建定义中编译两个独特的解决方案。如果不是,您在自己的构建定义中编译通用和唯一的解决方案。

于 2013-07-10T17:40:17.163 回答