如何让GitVersion / UpdateAssemblyInfo与ASP.NET Core 2.0项目一起使用

时间:2018-04-23 21:11:58

标签: asp.net-core asp.net-core-2.0 bamboo gitversion

我们一直在使用Bamboo构建服务器,我们已经安装了GitVersion,因此可以选择它作为构建计划中的任务。我们通常在运行任务时使用/ UpdateAssembleInfo参数。对于.NET Framework项目,这将使用bamboo版本设置更新源中的assemblyinfo文件,以便.NET程序集具有与Bamboo构建和后续Bamboo部署相同的版本信息,从而使我们能够了解已部署项目的版本。该字段通过检查程序集文件属性。这一切都运作良好。

但是,我们现在正在构建和部署.NET Core 2.0解决方案,并且发现GitVersion / UpdateAssemblyInfo无法正常工作。

我搜索了.NET Core的修复程序但是只能找到涉及使用project.json文件的解决方案,该文件不再与.NET Core 2.0一起使用(它更改为* .csproj文件)。 / p>

我看了http://gitversion.readthedocs.io/en/latest/usage/command-line/,我尝试了

gitversion.exe /UpdateAssemblyInfo MyProjectName.AssemblyInfo.cs /EnsureAssemblyInfo 

其中MyProjectName表示.NET Core 2.0 .. \\ obj \ release \ netcoreapp2.0文件夹中assemblyinfo.cs文件的实际项目名称后缀。但它没有更新该文件。

我必须假设必须有一个使用GitVersion与Bamboo和.NET Core 2.0的解决方案,但我很难找到一个。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

作为解决方法,您可以在.csproj

中考虑specifying the assembly info as project properties
<PropertyGroup>
    <Version>1.2.3.4</Version>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    ...
</PropertyGroup>

然后在dotnet build期间设置值。除了其选项之外,dotnet build命令还接受/property <{1}},如/property:name=value

  

/p:name=value
  name
  设置或覆盖指定的项目级属性,其中value是属性名称,dotnet build /p:Version=1.2.3.4;AssemblyVersion=1.2.3.4 是属性值。单独指定每个属性,或使用分号或逗号分隔多个属性。

所以你的构建命令就像

basename