在构建

时间:2016-03-18 20:20:28

标签: powershell tfs build-process tfs2015 azure-pipelines

我们正在从TFS 2010迁移到新的TFS 2015服务器。我已经完成了大部分工作,但是我还没有找到像在2010年那样在AssemblyInfo.cs文件中设置信息的简单方法。 / p>

我们需要强制使用AssemblyCompany,AssemblyCopyright,AssemblyVersion和AssemblyFileVersion属性,这样我们就不必依赖于各个开发人员来使它们正确。虽然共享的AssemblyInfo文件可以工作,但是需要手动将其添加到每个项目中,这仍然将责任交给开发人员创建程序集。不理想。

我们的2010 xaml构建定义有一个" Build Versioning"可以设置这些值的部分,如下所示。

enter image description here

我在vNext构建定义中找不到这样的东西。我怀疑也许有某种插件在旧系统上提供了这种功能。不幸的是,我没有设置该系统,并且不再在这里工作的人,所以我不确定并且不知道如果它是一个插件,他是如何做到的。

我发现了一些允许设置版本号的PowerShell脚本,但到目前为止,我还没有遇到过任何关于AssemblyCompany或AssemblyCopyright的脚本。

在我花时间从头开始写东西之前,还有其他人知道如何实现这个目标吗?

3 个答案:

答案 0 :(得分:1)

我打赌你希望增加每个版本的程序集版本。在vNext构建中,您需要遵循以下内容:

  1. 从使用脚本中获取ApplyVersionToAssemblies.ps1脚本,以自定义构建过程MSDN文档并将其保存到工作区。
  2. 将其添加到源代码管理中。
  3. 创建新版本。
  4. 添加构建步骤以调用此新脚本

    一个。按添加构建步骤...按钮/链接 B.选择PowerShell构建步骤并将其向上移动,以便它是第一个要执行的任务。 C.输入新脚本的源控制路径 REFER HERE

答案 1 :(得分:0)

您在TFS2010 XAML构建定义中的选项是由于构建模板是自定义的。

在TFS2015 vNext构建模板中,您必须添加自己的构建步骤(很可能是PowerShell脚本),它将重新创建有关AssemblyInfo处理的逻辑。

答案 2 :(得分:0)

除了创建power-shell脚本外,您还可以安装" MSBuild Community Tasks"将nuget包打包到您的项目中,并在构建期间使用它来更新程序集信息。

有关详细信息,请参阅此文章:VSO Build vNext – versioning assemblies with MSBuild

本文介绍如何更新Version和FileVersion,您只需在MSBuild脚本中添加以下部分即可更新CopyRight和Company:

AssemblyCompany="xxxx"
AssemblyCopyright="xxxx"