我们在 TFS 2012 中有一个包含多个项目的解决方案。我已经在我们的构建服务器上设置了一个持续集成构建,并设置了 Clean Workspace = None。我正在使用 TFS 版本控制模板 2.0 来更新 AssemblyFileVersion 和 AssemblyVersions。
运行构建时,每个项目的 AssemblyInfo.cs 文件都会更新为新的版本号,即使某些项目中的代码没有更改。理想情况下,我们希望仅在项目发生更改时才更改版本。
我正在考虑单独构建每个项目,但我们希望能够简单地构建解决方案。我已经读过 Clean Workspace = None 应该阻止项目被更新,但它似乎并没有发生在我身上,因为所有 dll 上的时间戳在构建后都显示为更改。
我是设置构建过程的新手,所以我希望我做错了一些简单的事情。任何建议将不胜感激。
更新:检查建议的链接后,我似乎在构建过程中做了两件事可能导致问题:1)在我的一个项目的“AfterBuild”步骤中发生的 web.config 文件转换和 2)使用“TFS 版本控制”模板中的版本号增量功能,而无需打开工作流以查看它如何检查更改的文件。我将删除这两个,看看会发生什么。