自动增量NuGet软件包版本

问题描述 投票:1回答:1

[在C#/。NET Standard 2.1中使用“在生成时生成NuGetPackage”时,是否可以自动增加NuGet软件包的版本?

nuget visual-studio-2019 c#-8.0
1个回答
0
投票

如果通过构建服务器构建和发布项目,并通过Git管理版本,则可以尝试Msbuild GitVersion任务。类似的问题,请参见here

但是如果您只想在不使用Git的情况下进行干净的构建并在本地VS中发布,那么恐怕现在没有VS选项或Msbuild Task支持此行为。您可以转到DC来建议该功能,因为它是一个有意义的主意,但目前尚不可用。

此外,MartinAlexandre的提示,您可以将此脚本添加到xx.csproj:

  <PropertyGroup>
    <GenerateNuspecDependsOn>$(GenerateNuspecDependsOn);SetPackageVersion</GenerateNuspecDependsOn>
  </PropertyGroup>

  <Target Name="SetPackageVersion" DependsOnTargets="Build">
    <PropertyGroup>
      <!--<PackageVersion>$([System.DateTime]::Now.ToString(&quot;yyyy.MM.dd.HHmmss&quot;))</PackageVersion>-->
      <!--You can customize the format and the rule about how version increases here.-->
      <PackageVersion>$([System.DateTime]::Now.ToString(&quot;1.MM.dd&quot;))</PackageVersion>
    </PropertyGroup>
  </Target>

然后,当您今天发布该软件包时,其版本为1.10.4。明天为1.10.5,如果您真的不需要一天发布一个软件包的不同版本,则可以使用它。您也可以自定义脚本以定义版本增加规则。可能有帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.