简而言之,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 == )
{
return "";
}
else
{
return ((AssemblyFileVersionAttribute)attributes[]).Version;
}
}
方法二
//得到指定程序集版本
private string GetAssemblyVersion(string name)
{
byte[] filedata = File.ReadAllBytes(name + ".exe");
return Assembly.Load(filedata).GetName().Version.ToString(); }

当然,也可以通过项目的可视化属性配置页面进行 修改版本等信息。

最新文章

  1. 来玩Play框架05 数据库
  2. 最受欢迎的Java第三方库
  3. zzuliOJ 1904小火山的股票交易;
  4. CentOS6.5下安装wine OK
  5. iOS - Swift NSPoint 位置
  6. 初定为EGame
  7. 杭电 3887 Counting Offspring
  8. 动态加载Layout 与 论Activity、 Window、View的关系
  9. 非root用户加入docker用户组省去sudo
  10. 字符串哈希及KMP
  11. 20165215 2017-2018-2 《Java程序设计》第7周学习总结
  12. arm 算力运算
  13. error::尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
  14. 理解linux cpu load - 什么时候应该担心了
  15. [转]CentOS7增加或修改SSH端口号
  16. Git学习-->如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器?
  17. CentOS6.10安装详解
  18. FastReport.Net使用:[3]简单报表一
  19. Vue数据绑定失效
  20. php session的简单使用

热门文章

  1. 第13章 TCP编程(4)_基于自定义协议的多线程模型
  2. Java 泛型小结
  3. Java技术栈
  4. [Flutter] Android沉侵式标题栏顶部叠加层去除
  5. phpmyadmin登录提示2005错误
  6. 任务计划程序-Windows2008定时重启
  7. redis详解(四)-- 高可用分布式集群
  8. JPA和Hibernate到底是什么关系???
  9. CStatic控件SS_NOTIFY属性
  10. 转载:canal数据库同步redis