可以将GitVersionTask配置为仅更新指定的Assembly *版本而不更新其他版本

时间:2017-11-01 13:37:14

标签: c# msbuild nuget gitversion

查看GitVersion的文档,似乎有一些选项只允许GitVersion设置某个版本,同时允许其他人保持手动控制。举个例子,我想更新AssemblyFileVersion而不是AssemblyVersion。我已尝试将以下内容添加到我的csproj文件

<PropertyGroup>
    <UpdateAssemblyInfo>true</UpdateAssemblyInfo>
    <GenerateAssemblyFileVersionAttribute>true</GenerateAssemblyFileVersionAttribute>
    <GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
  </PropertyGroup>

并更新了我的AssemblyInfo.cs文件

[assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]

但我仍然最终将这两个版本都设置为1.0.0.0。

使用GitVersionTask可以实现这种配置吗?我找不到任何好的例子或明确的文档显示这种类型的设置。

1 个答案:

答案 0 :(得分:1)

GitVersion允许使用GitVersion.yml配置文件进行更多自定义配置。要创建GitVersion配置文件,请在命令提示符中,在项目/解决方案目录中执行GitVersion init。这将打开一个菜单,其中包含Run getting started wizard等选项。运行向导并按照提示操作。完全默认的文件如下所示:

branches: {}
ignore:
  sha: []

此文件使用逻辑“如果未设置,请使用默认值。”

要忽略AssemblyVersion,请将assembly-versioning-scheme: None添加到文件的开头,当GitVersion运行时,它将忽略AssemblyVersion并更新其他所有内容。同样,如果您想忽略AssemblyFileVersion,您也可以将assembly-file-versioning-scheme: None添加到文件的开头。

有关GitVersion.yml的更多信息,请访问http://gitversion.readthedocs.io/en/latest/configuration/