我们一直在使用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的解决方案,但我很难找到一个。
有什么想法吗?
答案 0 :(得分:2)
作为解决方法,您可以在.csproj
<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