3

我们正在从 TFS 2010 迁移到新的 TFS 2015 服务器。我几乎可以正常工作,但是我还没有找到像 2010 年那样在 AssemblyInfo.cs 文件中设置信息的简单方法。

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

我们的 2010 xaml 构建定义有一个“构建版本控制”部分,可以在其中设置这些值,如下所示。

在此处输入图像描述

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

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

在我花时间从头开始写东西之前,有没有其他人知道如何做到这一点?

4

3 回答 3

1

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

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

    A. 按 Add Build Step... 按钮/链接 B. 选择 PowerShell 构建步骤并将其向上移动,使其成为第一个要执行的任务。C. 输入新脚本的源代码管理路径 REFER HERE

于 2016-03-21T08:51:43.150 回答
0

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

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

于 2016-03-19T08:34:57.890 回答
0

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

有关详细信息,请参阅本文:VSO Build vNext – 使用 MSBuild 对程序集进行版本控制

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

AssemblyCompany="xxxx"
AssemblyCopyright="xxxx"
于 2016-03-22T07:13:45.113 回答