我有一个我想要构建和部署的dotnet核心项目。
目前我在TC中有三个步骤;
在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计算的版本?
谢谢! ;)
答案 0 :(得分:2)
您可以引入一个在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%
答案 1 :(得分:1)
截至目前,实现这一目标的最简单方法是
/p:PackageVersion=1.2.%build.number%
这样做的好处是您不必以inay方式修改csproj文件。