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

.NET 8.0为何在版本号后追加哈希?如何去除?

.NET 8发布后版本号追加哈希的原因及移除方法

哈希的来源

这个追加的哈希是.NET 8 SDK默认启用的源链接哈希(Source Link Hash)。它基于项目编译时的源代码仓库提交信息生成,作用是让可执行文件与对应的源代码版本建立关联,方便后续调试时精准定位到具体提交的代码片段。在Release编译模式下,.NET 8 SDK默认开启了Source Link相关的版本信息嵌入逻辑,因此会自动将该哈希追加到版本号的+后缀位置。

移除哈希的方法

方法1:发布命令中添加参数

在dotnet publish命令里直接指定禁用Source Link哈希嵌入的属性,修改后的命令如下:

dotnet publish ..\code\cbutils\cbutils.csproj -c Release -f net8.0 -r win-x64 -o D:\work\install\cbutils /property:Version=1.2.3.1096 /property:IncludeSourceLinkInInformationalVersion=false --self-contained

方法2:修改项目文件(csproj)

如果不想每次发布都手动加参数,可以在项目的.csproj文件中添加以下配置,全局禁用哈希追加:

<PropertyGroup>
  <!-- 仅关闭版本号中的哈希追加,保留其他Source Link功能 -->
  <IncludeSourceLinkInInformationalVersion>false</IncludeSourceLinkInInformationalVersion>
</PropertyGroup>

方法3:完全关闭Source Link(不建议)

如果不需要Source Link的源代码关联功能,也可以直接关闭整个Source Link机制:

<PropertyGroup>
  <PublishRepositoryUrl>false</PublishRepositoryUrl>
  <IncludeSourceLink>false</IncludeSourceLink>
</PropertyGroup>

注:更建议用方法1或方法2,既能保留Source Link的调试优势,又能得到干净的版本号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 02:37:11