AssemblyVersion,AssemblyFileVersion解释以及获取
Posted 未将对象引用设置到对象的实例
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AssemblyVersion,AssemblyFileVersion解释以及获取相关的知识,希望对你有一定的参考价值。
简而言之,AssemblyVersion:
是程序集的版本,.NET的CLR用,用于标识出该dll的版本信息,用于定义强名称的版本号;
AssemblyFileVersion:
为编译器生成的文件加入版本号,只是一个文件号标识,没有具体的作用,也就是在资源管理器里查看属性时看到的版本;
AssemblyInformationalVersion:
在引用程序集时,这个属性不用于版本检查,它仅用于版本信息。该属性非常适合于指定使用多个程序集的应用程序的版本。
打开可执行程序的属性,这个值就显示为Product Version
Guid:这个实际上是COM里提出的概念,只是一个唯一的ID,.NET为了维护和COM的交互性,所以还存在这个概念。
[assembly: AssemblyVersion("1.0.0.1")]
[assembly: AssemblyFileVersion("1.0.0.2")]
将第二句注释掉,并将前一句1.0.0.1改为1.0.*后,其后两位版本号会自动递增,然而就概念而言这样做不一定合适。
代码获取项目版本属性方式:
public string AssemblyFileVersion() { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false); if (attributes.Length == 0) { return ""; } else { return ((AssemblyFileVersionAttribute)attributes[0]).Version; } } 方法二 //得到指定程序集版本 private string GetAssemblyVersion(string name) { byte[] filedata = File.ReadAllBytes(name + ".exe"); return Assembly.Load(filedata).GetName().Version.ToString(); }
当然,也可以通过项目的可视化属性配置页面进行 修改版本等信息。
以上是关于AssemblyVersion,AssemblyFileVersion解释以及获取的主要内容,如果未能解决你的问题,请参考以下文章
AssemblyVersion,AssemblyFileVersion和AssemblyInformationalVersion之间有什么区别?
如何在二进制文件中将 AssemblyVersion 标记为 FileVersion
AssemblyVersion,AssemblyFileVersion解释以及获取