VSTS Build 不生成最新的二进制文件

Posted

技术标签:

【中文标题】VSTS Build 不生成最新的二进制文件【英文标题】:VSTS Build not generating latest bin binaries 【发布时间】:2020-11-13 11:17:06 【问题描述】:

我正在为 MVC 项目使用 TFS 2018 CI 管道,我还将项目的 bin 文件添加到 TFS 中,管道没有问题,它成功并成功生成了工件,但主要问题是如果我做了与项目的 DLL 相关的任何代码更改,

the CI pipeline's build solution not generating its own latest bin file

直到或除非我手动签出 project.dll 文件,然后在文件中签出,管道将选择更改,我缺少什么,使用“MSBUILD”任务的结果相同,我还勾选清理“所有目录” ' 但结果相同

【问题讨论】:

您应该永远将二进制文件放入源代码管理中,尤其是不要构建输出。 @DanielMann 我不明白你为什么说二进制文件? 为什么不从您的存储库中删除 bin 文件夹,因为它会导致问题。正如 Daniel 所说,bin 文件夹不应该包含在源代码管理中。 如果 bin 文件夹在 TFS BUILD 时未包含在源代码管理中,则 TFS 会抛出错误,在 cs.proj 或 .sln 文件中缺少引用 @Levi Lu-MSFT,如果我没有将 bin 文件夹添加到源控件中,而不是 MS 构建其抛出错误,cs.proj 或 .sln 文件中缺少引用 【参考方案1】:

花了一整天后,我得出了一个解决方案,即不应将 bin 文件夹添加/包含到源代码管理 (TFS/Azure) 中,

 bin folder or project's binaries should not be added in to TFS

在项目中应该排除bin文件夹,在执行此操作后,当我运行相同的构建管道并检查工件时发现TFS构建相应地添加了bin文件夹和文件,这让我感到震惊。

在这种情况下应该记住一件事,外部 dll 引用如何,在 src 文件夹的同一级别创建一个 CommonDLLs 文件夹并将所有外部 DLL 放在那里。它们是通过相对路径引用的

【讨论】:

以上是关于VSTS Build 不生成最新的二进制文件的主要内容,如果未能解决你的问题,请参考以下文章

UVa 1151 Buy or Build (最小生成树+二进制法暴力求解)

仅当子目录中的文件已更改时,才运行VSTS构建任务以运行“npm build”

用于本机可执行文件的 Android NDK 分析器不生成数据

build-helper-maven-plugin:部署没有版本指示器的文件

二进制搭建以太坊2.0节点-2023最新详细版文档

uva 1151Buy or Build(图论 最小生成树)