TFS CI 构建链

TFS CI Build Chain

为了在我的新雇主中引入可重用代码,我选择创建一个 class 库,该库将被 200 多个现有的小型应用程序引用。该库包含日志记录、数据库连接逻辑等

有没有办法设置 TFS online 的构建服务来自动确定哪些项目引用了这个公共库作为 nuget 包?我希望他们在公共库运行的 CI 构建之后(或部分构建)构建。

将依赖于 nuget 包的项目确实存在于同一个 TFS 团队项目中,但不在同一个分支中,每个应用程序都有自己的一组分支。

不是真的,我想说你想做的事情有点违背了 NuGet 的目的。

您有 200 个应用程序使用此公共库。公共图书馆大概可以工作。惊人的。当你发布一个新的生产稳定版本的包时,你应该增加它的版本号并让所有使用旧版本的东西继续这样做。

当有新版本可用时,该库的消费者有责任选择是否更新它。负责每个应用程序的团队应该能够有意识地决定升级组件。

此外,请牢记单一职责原则。拥有一个包含日志记录、数据库逻辑和其他完全不相关的东西的 "god assembly" 听起来像是一个非常糟糕的主意,特别是如果这些东西将随着时间的推移继续发展。您会遇到这样一种情况:应用程序需要数据库部分中的新功能 X,但不幸的是,几周前有人在记录器逻辑中进行了不相关的重大更改 Y。现在您必须将不相关的重大变更 Y 集成到您的应用程序中,即使您不想要或不需要它。