AssemblyVersion,AssemblyFileVersion解释以及获取
2024-10-09 07:49:14
简而言之,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(); }
当然,也可以通过项目的可视化属性配置页面进行 修改版本等信息。
最新文章
- 来玩Play框架05 数据库
- 最受欢迎的Java第三方库
- zzuliOJ 1904小火山的股票交易;
- CentOS6.5下安装wine OK
- iOS - Swift NSPoint 位置
- 初定为EGame
- 杭电 3887 Counting Offspring
- 动态加载Layout 与 论Activity、 Window、View的关系
- 非root用户加入docker用户组省去sudo
- 字符串哈希及KMP
- 20165215 2017-2018-2 《Java程序设计》第7周学习总结
- arm 算力运算
- error::尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
- 理解linux cpu load - 什么时候应该担心了
- [转]CentOS7增加或修改SSH端口号
- Git学习-->如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器?
- CentOS6.10安装详解
- FastReport.Net使用:[3]简单报表一
- Vue数据绑定失效
- php session的简单使用