为什么要区分AssemblyFileVersion和AssemblyVersion



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

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

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

但他们都有Major.Minor.Build.Revision格式,是不是AssemblyFileVersion和AssemblyVersion是一样的?

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

我的理解正确吗?如果不正确,如果有人能根据我上面的场景解释一下,我将非常感激。

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

相关内容

  • 没有找到相关文章

最新更新