在 C# csproj 中用零填充版本控制

Posted

技术标签:

【中文标题】在 C# csproj 中用零填充版本控制【英文标题】:Padding versioning with zeros in C# csproj 【发布时间】:2019-02-09 12:44:41 【问题描述】:

我有一个遵循语义版本控制 (v1) 的项目 (C#)。 在 csproj 我有 AssemblyInformationalVersion="$(Major).$(Minor).$(Build)-$(RevProp)$(Revision)

RevProp 可能是 Alpha、Beta、RC 等。Revision 是修订号。

根据旧版本的 nuget 支持的 SemVer 1.0 创建包,包是按字典顺序排序的。所以当我们有以下情况时:

1.0.0-alpha5

1.0.0-alpha10

Nugget 会认为 1.0.0-alpha5 更新,因为它的字母顺序。因此,我想用零填充那个数字。 因此,在 csproj 中,我希望能够创建以下内容:

1.0.0-alpha005

1.0.0-alpha010

有没有办法在项目文件中做到这一点?

【问题讨论】:

【参考方案1】:

有没有办法在项目文件中做到这一点?

我希望不会。如果要进行数字排序,请使用点将数字字段与字母数字字段分开。数字字段按数字排序。不要使用 Nuget 的古董版本!

【讨论】:

以上是关于在 C# csproj 中用零填充版本控制的主要内容,如果未能解决你的问题,请参考以下文章

如何在源代码控制(Visual Studio 和 TFS)中比较文件 .csproj 与最新版本

C# 2008 Express:此版本的应用程序不支持项目类型 (.csproj)

是否有可能使用团队资源管理器进行版本控制而无需为Visual Studio购买许可证?

dotnet 核心包版本控制

零基础1小时上手git

U3D版本控制设置 Force Text优劣