自动递增NuGet包版本

自动递增NuGet包版本,nuget,visual-studio-2019,c#-8.0,Nuget,Visual Studio 2019,C# 8.0,在C#/.NET标准2.1中使用“生成NuGetPackage on Build”时,是否有一种自动增加NuGet软件包版本的方法?如果您通过生成服务器生成和发布项目,并通过Git管理版本,则可以尝试MSBuild任务。有关类似问题,请参阅 但是,如果您只希望在本地VisualStudio中进行干净的构建和发布,而不使用Git,那么恐怕目前没有任何VisualStudio选项或支持此行为。您可以转到建议功能,因为这是一个有意义的想法,但目前它不可用 另外,根据提示,您可以将此脚本添加到xx.cs

在C#/.NET标准2.1中使用“生成NuGetPackage on Build”时,是否有一种自动增加NuGet软件包版本的方法?

如果您通过生成服务器生成和发布项目,并通过Git管理版本,则可以尝试MSBuild任务。有关类似问题,请参阅

但是,如果您只希望在本地VisualStudio中进行干净的构建和发布,而不使用Git,那么恐怕目前没有任何VisualStudio选项或支持此行为。您可以转到建议功能,因为这是一个有意义的想法,但目前它不可用

另外,根据提示,您可以将此脚本添加到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>

$(GenerateNuspecDependsOn);设置打包版本
$([System.DateTime]::Now.ToString(“1.MM.dd”))
那么当您今天发布包时,它的版本是1.10.4。在明天的1.10.5中,如果您真的不需要在一天内发布一个包的不同版本,那么它就可以工作了。您还可以自定义脚本以定义版本增加规则


如果针对多个框架,请参阅

将程序集版本设置为通配符时,此选项有效

<Deterministic>false</Deterministic>
<AssemblyVersion>3.0.*</AssemblyVersion>
false
3.0.*

内置VS或类似Azure Devops的东西?如果你使用Git管理这个版本,你可以考虑使用类似的工具。嗨,乔纳森,这个问题有什么更新吗?