当使用C#/.NET Standard 2.1中的"生成NuGet包时自动递增包版本"功能,是否有一种方法可以实现?
当使用C#/.NET Standard 2.1中的"生成NuGet包时自动递增包版本"功能,是否有一种方法可以实现?
如果你使用构建服务器来构建和发布项目,并通过Git管理版本,那么可以尝试使用MSBuild GitVersion 任务。如果遇到类似问题,请参见这里。
但是,如果你只想在本地使用Visual Studio进行干净的构建和发布而不使用Git,则恐怕目前没有任何Visual Studio选项或MSBuild任务支持此功能。你可以去开发者社区提出建议,因为这是一个有意义的想法,但目前还不可用。
此外,根据 Martin 和 Alexandre 的提示,您可以将此脚本添加到 xx.csproj 中: <PropertyGroup>
<GenerateNuspecDependsOn>$(GenerateNuspecDependsOn);SetPackageVersion</GenerateNuspecDependsOn>
</PropertyGroup>
<Target Name="SetPackageVersion" DependsOnTargets="Build">
<PropertyGroup>
<!-- <PackageVersion>$([System.DateTime]::Now.ToString("yyyy.MM.dd.HHmmss"))</PackageVersion> -->
<!-- You can customize the format and the rule about how version increases here. -->
<PackageVersion>$([System.DateTime]::Now.ToString("1.MM.dd"))</PackageVersion>
</PropertyGroup>
</Target>
<Deterministic>false</Deterministic>
<AssemblyVersion>3.0.*</AssemblyVersion>