[在C#/。NET Standard 2.1中使用“在生成时生成NuGetPackage”时,是否可以自动增加NuGet软件包的版本?
如果通过构建服务器构建和发布项目,并通过Git管理版本,则可以尝试Msbuild GitVersion任务。类似的问题,请参见here。
但是如果您只想在不使用Git的情况下进行干净的构建并在本地VS中发布,那么恐怕现在没有VS选项或Msbuild Task支持此行为。您可以转到DC来建议该功能,因为它是一个有意义的主意,但目前尚不可用。
此外,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>
然后,当您今天发布该软件包时,其版本为1.10.4。明天为1.10.5,如果您真的不需要一天发布一个软件包的不同版本,则可以使用它。您也可以自定义脚本以定义版本增加规则。可能有帮助:)