2017-07-03 58 views
0

我有一个dotnet核心项目,我想建立和部署。在使用Team City和Octopus Deploy时设置dotnet核心项目的版本?

目前我在TC中有三个步骤;

  • DOTNET恢复
  • DOTNET包
  • 章鱼部署:推

在OD我希望用它冲压成OD接收内置的存储库中的包的版本。

它几乎可行!

但是!

TC始终构建为像Ajf.IdentityServer.1.0.0-54.nupkg(步骤2,dotnet pack)这样的文件。

第2步,dotnet包,有一个选项 - 版本后缀 - 我正在使用%build.counter%。

我想要版本形成为1.0.0.54,而不是1.0.0-54。

显然,OD没有问题(我可以部署这些格式不正确的版本),但它只是感觉...错了?

我该如何用TC计算出的'正确'版本来标记我的版本?

谢谢! ;)

回答

1

你可以引入一个额外的属性在MSBuild中使用。

如果修改的csproj设置的版本是这样介绍的自定义BuildNumber属性默认为0

<PropertyGroup> 
    <BuildNumber Condition="'$(BuildNumber)' == ''">0</BuildNumber> 
    <VersionPrefix>1.2.3.$(BuildNumber)</VersionPrefix> 
</PropertyGroup> 

那么你可以传递BuildNumber作为附加参数所有相关dotnet调用:

dotnet pack -c Release /p:BuildNumber=%build.counter% 
+0

它只是工作!我的英雄!谢谢! –

相关问题