C#版本号管理
来源:互联网 发布:阿里云服务器地域选择 编辑:程序博客网 时间:2024/06/05 10:50
最近在找C#的版本号问题,对于程序集版本和文件版本的使用不理解,特记录如下 :
关于发布版本号管理
标准版本号物理形式表示为用句点隔开的四段数字,如下面的代码示例所示。
<major version>.<minor version>.<build number>.<revision>实际使用中,我们一般只用到前面三段。即
<major version>.<minor version>.<build number>
而且会分外部版本号和内部版本号:
<Version>
<InternalVer>2.2.2</InternalVer>
<ExternalVer>1.1.0</ExternalVer>
</Version>
程序显示的应该是外部版本号。
程序编译前用当前的内部版本号更新 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?
通过程序获得版本信息:
//== Get File Version
System.Diagnostics.FileVersionInfo.GetVersionInfo
//==Get Assembly Version
AssemblyName assName = Assembly.GetExecutingAssembly().GetName();
string version = assName.Version.ToString();
对于一个win32的exe或dll,在Explore中查看它的属性(Properties->Version)可以看到
File Version
Product Version
一个.net Assembly在Explore中查看它的属性(Properties->Version)可以看到
Assebly Version (对应 AssemblyVersion)
File Version (对应 AssemblyFileVersion)
Product Version (对应 AssemblyInformationnalVersion, 如果不指定,则和AssemblyFileVersion对应)
阅读全文
0 0
- C#版本号管理
- C# 关于发布版本号管理
- 【转】版本号管理
- 版本号管理(二)
- 软件版本号管理
- 版本号管理(转)
- 版本号管理(转)
- 版本号管理(转)
- 软件版本号管理
- 版本号规范管理
- 动态库版本号管理
- SO库版本号管理
- maven版本号管理
- C#读取exe版本号
- C#读取exe版本号
- c# 自动生成版本号
- C#读取exe版本号
- c#获取程序版本号
- 1410: QAQ & 火星情报局 [数学]
- codeforces822D (86/600)
- oracle中常用函数大全
- css3 实现自由摆动的立方体
- 3.Android灯光系统_源码分析_通知灯
- C#版本号管理
- 2017百度之星初赛:A-1002. 数据分割(并查集+set)
- DateUtil.java
- 求最短路的四个模板
- Ionic2 学习笔记(二)-插件
- 【原创】【百度之星2017初赛A】1005 今夕何夕
- c++ primer 5 第6章 函数
- IntelliJ IDEA 配置阿里云
- hdu6108 2017"百度之星"初赛(A)1001小C的倍数问题(数学)