.net版本号

以下转自:https://www.cnblogs.com/AllengWang/archive/2006/11/17/563660.html

我一直不太清楚AssemblyInfo.cs中AssemblyVersion AssemblyFileVersion之间的区别,今天刚好在查TFS的版本号,需要查询Microsoft.TeamFoundation.dll的版本号能过属性可以看到:
不仅有我知道的两种版本号,还有另外种版号Product Version。
Assembly Version: 8.0.0.0
File Version: 8.0.50727.83
Product Version: 8.0.50727.83
在C# Project 中通常会在Assembly.cs中定义:
[assembly: AssemblyVersion("1.1.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.2.1.0")]  // 用来定义 Product VersionAssemblyVersion is stored in the metadata table of the assembly built. It is used to uniquely identify an assembly when referenced from other assemblies. Moreover, the CLR uses this version when binding to strongly named assemblies . AssemblyFileVersion and AssemblyInformationalVersion are informational only.
一个VS.NET插件用来管理Project Version:
Versioning Controlled Buildhttp://www.codeproject.com/dotnet/VersioningControlledBuild.asp
网上资源
Auto Increment Build Numbers for C# Projects in VS.NET 2003http://www.biasecurities.com/blogs/jim/archive/2003/10/08/166.aspx

Managing AssemblyVersionhttp://weblogs.asp.net/sjoseph/archive/2004/02/19/76277.aspx

Using Open Source .NET Tools for Sophisticated Buildshttp://www.15seconds.com/issue/040621.htm
CSDN: 自动编译,框架警察检查,文档生成,版本标注。http://dev.csdn.net/develop/article/36/36866.shtm
UpdateVersionhttp://code.mattgriffith.net/UpdateVersion/
一个工具
AssemblyVersion and Web Projectshttp://odetocode.com/Blogs/scott/archive/2006/01/24/2786.aspx

*****************************************************************************

以下转自:https://bbs.csdn.net/topics/230066719

关于发布版本号管理 
标准版本号物理形式表示为用句点隔开的四段数字,如下面的代码示例所示。
<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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值