.NET 6 WPF项目ProductVersion突然含Git提交哈希的解决咨询
解决.NET 6 WPF项目ProductVersion自动追加Git提交哈希的问题
这个问题的核心是你更新Visual Studio后,使用了较新版本的.NET SDK(比如.NET 8 SDK)编译.NET 6项目——新版SDK默认会为Git仓库中的项目自动生成包含提交哈希的版本信息,哪怕你没手动配置过相关功能。
以下是几种直接有效的解决方法:
- 禁用Git版本自动生成
在项目文件的<PropertyGroup>节点中添加配置,直接阻止SDK从Git提取版本信息追加到版本号:
<DisableGitVersioning>true</DisableGitVersioning>
- 显式指定AssemblyInformationalVersion
ProductVersion对应程序集的AssemblyInformationalVersion元数据,新版SDK会在该属性未显式设置时,自动填充带哈希的版本字符串。你可以强制让它和你指定的Version保持一致:
<AssemblyInformationalVersion>$(Version)</AssemblyInformationalVersion>
添加后,你的PropertyGroup配置示例:
<PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net6.0-windows</TargetFramework> <UseWPF>true</UseWPF> ... <Version>0.9.2</Version> <AssemblyInformationalVersion>$(Version)</AssemblyInformationalVersion> </PropertyGroup>
- 检查并调整SourceLink相关配置
如果你的项目中引用了Microsoft.SourceLink.GitHub或类似的SourceLink NuGet包,这类包也会触发版本哈希的自动追加。你可以选择移除这些包,或者添加<PublishRepositoryUrl>false</PublishRepositoryUrl>来关闭相关行为。
配置完成后,清理并重新编译项目,ProductVersion就会回到你预期的纯版本号格式,不会再包含Git提交哈希。
内容的提问来源于stack exchange,提问作者grasbueschel
相关产品推荐
相关产品推荐

