.net 程序集版本和文件版本的区别和关系 怎么使用 谢谢

sytu_hzj 2008-06-05 09:38:31

[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]

这两个版本有什么区别和联系,它们和产品版本又有什么关系?
...全文
1618 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wakeUpDoNottLazy 2010-07-20
  • 打赏
  • 举报
回复
mark
liuning0820 2009-06-12
  • 打赏
  • 举报
回复
Assebly Version (对应 AssemblyVersion)
File Version (对应 AssemblyFileVersion)
Product Version (对应AssemblyInformationalInfo)
iraqtutu1 2009-01-04
  • 打赏
  • 举报
回复
Assebly Version (对应 AssemblyVersion)
File Version (对应 AssemblyFileVersion)
amandag 2008-06-05
  • 打赏
  • 举报
回复
楼上这个可以当资料保存
江城老温 2008-06-05
  • 打赏
  • 举报
回复
关于发布版本号管理

标准版本号物理形式表示为用句点隔开的四段数字,如下面的代码示例所示。
<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对应)
yagebu1983 2008-06-05
  • 打赏
  • 举报
回复
MSDN搜吧,里面讲得很清楚!!
ericzhangbo1982111 2008-06-05
  • 打赏
  • 举报
回复
http://www.cnblogs.com/AllengWang/archive/2006/11/17/563660.html
w1122333 2008-06-05
  • 打赏
  • 举报
回复
不知道
不过你可以去
网站去查啊

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧