.net FileVersionInfo.ProductVersion突然包含git提交哈希

3wabscal  于 2023-11-20  发布在  .NET
关注(0)|答案(1)|浏览(207)

我有一个.NET 6 WPF项目,无法弄清楚是什么改变了我的程序集的ProductVersion突然包含一个git提交哈希。
我的项目文件总是这样的,我还更新了版本信息:

  1. <PropertyGroup>
  2. <OutputType>WinExe</OutputType>
  3. <TargetFramework>net6.0-windows</TargetFramework>
  4. <UseWPF>true</UseWPF>
  5. ...
  6. <Version>0.9.2</Version>
  7. </PropertyGroup>

字符串
然后,在我的代码中,我使用下面的代码来获取字符串形式的版本:

  1. string? productVersion = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly()!.Location).ProductVersion;


这总是返回预期的版本,例如0.9.2,与项目文件中的设置完全相同。但是有些变化,现在它看起来像这样:0.9.2+abf5b643b64475a8b1d7d89284e3478b1ba4a431。这也是在资源管理器中显示在.dll和.exe文件的Details选项卡上的内容。
我会定期更新Visual Studio,以便在.NET 8上接收我在其他项目中使用的更新,所以它可能与某些更新有关。但我不知 prop 体发生了什么变化,也不知道如何定义ProductVersion不包含git提交哈希(是的,它是提交哈希)。我也有一段时间没有在WPF项目上工作了,所以不知道这种行为何时发生了变化。
具有讽刺意味的是,我过去需要git commit,所以必须放入一些extra effort才能使用它,尽管缩写为8个字符。
有什么想法吗?

zujrkrfu

zujrkrfu1#

可以通过添加以下项禁用所述行为

  1. <IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>

字符串
到项目文件中。
它似乎是由SDK 8版本中的SourceLink相关更改引入的。

相关问题