Tfs Teambuild/MSBuild和盖章QA批准的构建

Tfs Teambuild/MSBuild和盖章QA批准的构建,tfs,msbuild,audit,Tfs,Msbuild,Audit,我们使用tfs/teambuild和msbuild为我们的软件提供了一个自动化的构建和QA过程,我们希望能够知道(出于审计目的)组件是否经历了该过程 例如,如果在用户的机器上安装了一个库,我希望能够以某种方式对其进行检查,以确定它已完成构建。特别是,我希望能够将它与直接在开发人员的机器上构建、然后手动安装的组件区分开来 最好的方法是什么?作为构建过程的一部分的代码签名似乎最接近这些要求,但这可能不包括可能使用的任何第三方库?我还读过关于ILMerge工具将所有程序集合并为一个程序集的内容,但是我

我们使用tfs/teambuild和msbuild为我们的软件提供了一个自动化的构建和QA过程,我们希望能够知道(出于审计目的)组件是否经历了该过程

例如,如果在用户的机器上安装了一个库,我希望能够以某种方式对其进行检查,以确定它已完成构建。特别是,我希望能够将它与直接在开发人员的机器上构建、然后手动安装的组件区分开来

最好的方法是什么?作为构建过程的一部分的代码签名似乎最接近这些要求,但这可能不包括可能使用的任何第三方库?我还读过关于ILMerge工具将所有程序集合并为一个程序集的内容,但是我不知道是否可以对它们进行签名

我相信我们不是第一个有这个要求的人,所以我们需要从其他可能做过这种事情的人那里寻找任何想法或提示


谢谢

我们的开发人员版本设置为将版本保持在“0.0.0.0”,但我们的构建服务器基于预先配置的版本和自动生成的构建字符串标记该版本。“1.0.3.xxx”。您的生成服务器不允许这样做?

您的生成过程应该更新每个项目assemblyinfo.cs文件(或全局链接的等效文件),您可以使用TFS变更集编号来执行此操作,因此,如前一张海报所示,每个dll上的属性都是1.0.changeset.buildno或类似的内容。您可以在msbuild中轻松地执行此操作。 您可以在源代码管理中将每个程序集信息文件的值设置为0或999之类的明显值

不过,你问的很多问题都是关于流程和培训的。 如果您使用安装程序或ZIP打包您的可交付成果,那么您还可以在构建过程中使用构建编号对其进行标记。
但是,如果您有变更集,那么就有从dll到代码的链接,因此可以跟踪,再加上到每个csproj中定义的第三方dll引用的链接。

您需要详细描述您的场景。根据你的描述,不清楚你为什么要这么做。这对于得到一个好的答案很重要。