【问题标题】:Why differentiate AssemblyFileVersion and AssemblyVersion为什么区分 AssemblyFileVersion 和 AssemblyVersion
【发布时间】:2021-04-25 14:02:47
【问题描述】:

我们知道一个程序集有三个与之关联的版本号,分别是 AssemblyFileVersion、AssemblyInformationalVersion 和 AssemblyVersion

我得到了 AssemblyInformationalVersion abd 的想法,我理解这样一个事实,即当 CLR 加载程序集时,它只关心 AssemblyVersion,并且根据这篇帖子 https://stackoverflow.com/a/802038/9623401 的答案:

AssemblyFileVersion 旨在唯一标识单个程序集的构建

但是它们都有Major.Minor.Build.Revision格式,那AssemblyFileVersion和AssemblyVersion不是一回事吗?

假设我从头开始构建一个程序集,几天后,工作似乎完成了,所以我将 AssemblyVersion 更改为 1.0.0.0,然后我将代码提交到构建服务器,并且构建服务器应该更新内部版本号,因此存储库上的 AssemblyVersion 将为 1.0.1.0,AssemblyFileVersion 也应为 1.0.1.0

我的理解正确吗?如果不正确,如果有人可以根据我的上述情况进行解释,我将不胜感激?

【问题讨论】:

    标签: .net build version clr


    【解决方案1】:

    您提到的AssemblyVersion 被.NET 用于加载正确的程序集。程序集文件版本只是 Windows 资源管理器使用的文件的版本。 .NET 不以任何方式使用它。因此,如果您在日常构建中进行更改,您通常只想增加程序集文件版本,而不是程序集版本,以避免现有引用中断。 这个链接给出了一个很好的解释: https://docs.microsoft.com/en-us/troubleshoot/visualstudio/general/assembly-version-assembly-file-version

    【讨论】:

      猜你喜欢
      • 2011-03-07
      • 2010-11-09
      • 2010-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-15
      • 2020-12-18
      • 1970-01-01
      相关资源
      最近更新 更多