程序集属性表版本后出现多余字符,求优雅解决方法
解决.NET程序集Product Version自动追加哈希后缀的问题
问题说明
程序集属性表的Product Version被自动追加Git哈希后缀(如2024.6.22.6+9f3a8da557d9ed6941ee2dd3751916eb3ff1cece),项目文件已配置<Version>和<FileVersion>为2024.6.22.6但无效。原因是SDK自动生成的AssemblyInfo.vb中AssemblyInformationalVersionAttribute带后缀,MSBuild优先使用该值。
优雅解决方案
方案1:关闭源码版本追加(推荐)
在项目文件的<PropertyGroup>中添加配置,阻止SDK在InformationalVersion中追加Git哈希:
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
此配置会直接使用你指定的<Version>值作为InformationalVersion,无需修改其他文件。
方案2:禁用InformationalVersion自动生成
如果需要完全自定义InformationalVersion,可先禁用自动生成该属性,再手动指定:
<PropertyGroup> <GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute> <InformationalVersion>2024.6.22.6</InformationalVersion> </PropertyGroup>
方案3:完全禁用自动生成AssemblyInfo
若要完全掌控所有程序集属性,可关闭SDK自动生成AssemblyInfo文件,之后手动维护AssemblyInfo.vb或完全依赖项目文件配置:
<PropertyGroup> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> </PropertyGroup>
验证
清理项目后重新生成,查看程序集属性的Product Version,确认后缀已移除。
内容的提问来源于stack exchange,提问作者InteXX
相关产品推荐
相关产品推荐

