首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么要区分AssemblyFileVersion和AssemblyVersion

为什么要区分AssemblyFileVersion和AssemblyVersion
EN

Stack Overflow用户
提问于 2021-01-21 07:05:06
回答 1查看 37关注 0票数 1

我们知道程序集有三个与其关联的版本号,它们是AssemblyFileVersion、AssemblyInformationalVersion和AssemblyVersion。

我了解到,当CLR加载一个程序集时,它只关心AssemblyInformationalVersion,根据这个帖子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。

我的理解正确吗?如果不正确的话,如果有人能根据我以上的情况来解释的话,我会非常感激的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-21 20:59:06

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65822541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档