自动增加 NuGet 包版本
Auto-increment NuGet package version
在 C#/.NET Standard 2.1 中使用“生成时生成 NuGetPackage”时,是否有自动增加 NuGet 包版本的方法?
如果您通过构建服务器构建和发布项目,并通过 Git 管理版本,您可以尝试 MSBuild GitVersion task. For a similar issue, see .
但是,如果您只想在不使用 Git 的情况下在本地 Visual Studio 中进行干净的构建和发布,那么恐怕目前没有任何 Visual Studio 选项或 MSBuild task to support this behavior. You can go to the Developer Community 可以建议功能,因为它是一个有意义的想法,但目前不可用。
此外,根据提示 and 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,如果你真的不需要在一天内发布一个包的不同版本,它就可以工作。您也可以自定义脚本来定义您的版本增加规则。
如果针对多个框架,请参阅
这在将程序集版本设置为通配符时有效。
<Deterministic>false</Deterministic>
<AssemblyVersion>3.0.*</AssemblyVersion>
从 toDate 到 Visual Studio 2019 和 .NET 5.0,LoLance 关于在 .csproj
文件中编写增量脚本的建议仍然有效,我们现在可以直接在包定义的PropertyGroup中对多个字段使用shell命令,如下图所示:
在 C#/.NET Standard 2.1 中使用“生成时生成 NuGetPackage”时,是否有自动增加 NuGet 包版本的方法?
如果您通过构建服务器构建和发布项目,并通过 Git 管理版本,您可以尝试 MSBuild GitVersion task. For a similar issue, see
但是,如果您只想在不使用 Git 的情况下在本地 Visual Studio 中进行干净的构建和发布,那么恐怕目前没有任何 Visual Studio 选项或 MSBuild task to support this behavior. You can go to the Developer Community 可以建议功能,因为它是一个有意义的想法,但目前不可用。
此外,根据提示
<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,如果你真的不需要在一天内发布一个包的不同版本,它就可以工作。您也可以自定义脚本来定义您的版本增加规则。
如果针对多个框架,请参阅
这在将程序集版本设置为通配符时有效。
<Deterministic>false</Deterministic>
<AssemblyVersion>3.0.*</AssemblyVersion>
从 toDate 到 Visual Studio 2019 和 .NET 5.0,LoLance 关于在 .csproj
文件中编写增量脚本的建议仍然有效,我们现在可以直接在包定义的PropertyGroup中对多个字段使用shell命令,如下图所示: