You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从程序集版本中提取版本号后缀?

如何提取版本号中的RC后缀信息

我在项目文件中使用了带RC后缀的版本号3.0.2.1294-rc,写法符合NuGet版本规范,编译时无警告,项目配置如下:

<PropertyGroup>
    <Version>3.0.2.1294-rc</Version>
</PropertyGroup>

但用常规方式获取版本信息时,看不到RC后缀部分,请问该怎么提取这个后缀?


解决方案:使用AssemblyInformationalVersionAttribute获取完整版本

默认情况下,当你在项目文件中设置<Version>时,.NET会自动将这个完整版本号赋值给AssemblyInformationalVersion属性,而AssemblyVersion只能存储纯数字的主.次.建.修订号,会自动截断后缀。所以要获取带RC后缀的完整版本,需要读取AssemblyInformationalVersion:

using System.Reflection;

// 获取当前程序集的完整版本信息
var fullVersion = Assembly.GetExecutingAssembly()
    .GetCustomAttribute<AssemblyInformationalVersionAttribute>()?
    .InformationalVersion;
// 此时fullVersion的值为"3.0.2.1294-rc"

额外说明

如果你的项目中显式设置了AssemblyInformationalVersion,确保它引用了$(Version)变量,这样就能同步完整版本号:

<PropertyGroup>
    <Version>3.0.2.1294-rc</Version>
    <AssemblyInformationalVersion>$(Version)</AssemblyInformationalVersion>
</PropertyGroup>

内容的提问来源于stack exchange,提问作者Andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:36:29