前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序集版本号,文件版本号及发布版本号管理

程序集版本号,文件版本号及发布版本号管理

作者头像
望天
发布2018-08-02 11:36:42
2.1K0
发布2018-08-02 11:36:42
举报
文章被收录于专栏:along的开发之旅along的开发之旅

程序集版本号:

在.net框架中和CLR运行时钟引用,如使用程序集的强命名时就会使用. 按照我的理解,你所使用的库如log4net,常见的有2.0和4.0的,那么你下载的库是否是你工程中用的库,就要看这个程序集版本号. 比如我自己写了一个库,叫Tool,程序集版本号是1.0.0.0,然后Work工程引用了这个dll.现在Tool更新了,程序集版本号变成了2.0.0.0,那么Work在不修改的情况下就不可以引用到2.0.0.0.

文件版本号:

专门显示在windows文件系统中,每次发布程序集时,如果是每天更新,应该只更新文件版本号,不要频繁更新程序集版本号,防止其他引用的人每天要修改. 应该尽量只更新文件版本号,这是微软开发者的初衷.

关于发布版本号管理

标准版本号物理形式表示为用句点隔开的四段数字,如下面的代码示例所示。 ...

实际使用中,我们一般只用到前面三段。即 ..

而且会分外部版本号和内部版本号: 2.2.2 1.1.0

程序显示的应该是外部版本号。 程序编译前用当前的内部版本号更新 AssemblyVersion 属性的 build number 段,非程序文件(如资源等)在打包、备份、打标签时统一使用内部版本号。

每个Assebmly包含三个Version AssemblyFileVersion :存储在win32资源中, CLR不关心这个版本号, AssemblyInformationnalVersion :存储在win32资源中, CLR不关心这个版本号,此版本号用来表示包含 Assembly的产品的版本 AssemblyVersion: 存储在AssemblyDef manifest metadata table中,CLR会使用这个版本号

工具的支持: CSC.exe和AL.exe在每次build时可以自动增加AssemblyVersion, 但要慎用.改变一个Assembly的 AssemblyVersion会导致引用这个Assembly的其它Assembly无法工作.

在VS会为每一个.net Porject生成 AssemblyInfo.cs 可在其中设置相关的信息. [assembly: AssemblyVersion(”1.0.0.0″)] [assembly: AssemblyFileVersion(”1.0.1.0″)] 如果使用[assembly: AssemblyVersion(”1.0.*”)], 在每次程序修改后build或rebuild后, assembly的 AssemblyVersion的Build Number和 ReversionNumber和会自动增加.ReversionNumber每次都变, Build Number随日期的变化而变化.

有没有什么工具可以显式地设置一个solution中所有的project的AssemblyVersion?

推荐工具Version Editor.从”工具->扩展和更新”下载,安装后从”视图->其他窗口->Version Editor”打开. 地址:https://visualstudiogallery.msdn.microsoft.com/9d7f7b91-3577-4e61-bb3f-a8dc0c453f75

以上文章综合于下述文章: http://www.cnblogs.com/langu/archive/2013/03/25/2980971.html http://bbs.csdn.net/topics/230066719

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年02月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 程序集版本号:
  • 文件版本号:
  • 关于发布版本号管理
  • 有没有什么工具可以显式地设置一个solution中所有的project的AssemblyVersion?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档