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

为何CommandLineParser的--version命令返回的版本号末尾带乱码?

CommandLineParser输出版本号带哈希串的根本原因

你使用CommandLineParser NuGet包时,执行命令得到如下输出:

D:\My Programs\2022\MSATools\MSATools\bin\Release\net8.0>msatools --version
MSATools 2024.04.05+9a5b4ec4befbf650d71bc45a692f944dd1ec0f43

版本号后面的串不是乱码,是Git提交的SHA-1哈希值,根本原因如下:

  • CommandLineParser内置的--version开关,默认读取的是程序集的InformationalVersion元数据字段,而非你在项目Package设置里填写的版本号。
  • .NET SDK在构建项目时,如果你的项目关联了Git仓库,会自动启用源代码控制集成:将当前Git提交的SHA-1哈希值追加到InformationalVersion中,最终格式变为[设置的版本号]+[提交哈希]。
  • 你在项目属性Package部分设置的是NuGet包的版本,这个配置和程序集元数据里的InformationalVersion是两个独立项,彼此不直接关联。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:24:54