• C#(Visual Studio) AssemblyInfo


    AssemblyInfo

    .NET Project的Properties文件夹下会自动生成一个AssemblyInfo.cs的文件,该文件包含的信息和项目->右键->属性->Application->Assembly Information完全一样。其作用是为程序集定义不同的属性。所有的属性都是基于.NET Framework中的System.Attribute。其语法如下:

    [assembly:<attribute>(<setting>)]

    AssemblyVersionAttribute

    文件版本号的设置,其中Attribute可以省略 :

    [assembly:AssemblyVersion("1.0")]
    属性 描述
    AssemblyTitle 程序集标题,默认为DLL库名
    AssemblyDescription 关于程序集的简短描述
    AssemblyCompany 程序集所属公司名称
    AssemblyProduct 基于此程序集的产品名称
    AssemblyCopyright 程序集所属版权
    AssemblyTrademark 合法商标
    AssemblyVersion 程序集的版本
    AssemblyCulture 程序集支持的culture
    AssemblyConfiguration 指定程序的生成配置,如发布或调试配置
    ComVisible 控制程序集中所有类型对COM的可访问性

    这些属性基本都允许用一个字符串来定义属性的值,AssemblyVersion例外,必须使用特定格式的字符串:Major.Minor.Build.Revision

    Major和Minor分别为主、副版本号,版本号的的更改通常说明和先前的版本有不兼容的改动。例如,2.1版本和基于同样库的2.2版本有不兼容的地方。

    构建号(Build)是一个程序集的相同副版本的不同编译设置。它偶尔也会出现不兼容的情况,但通常,如2.1.17和2.1.42版本的运行情况是一样的。

    修订号(Revision)是用来固话bug或者其他偶发的更新,它通常不会破坏兼容性。

    在程序中获取这些信息

    原代码处(http://blog.sina.com.cn/s/blog_61c4c1f60100eira.html)

    public class GetAssembly<T> {
            private Type myType;
    
            public GetAssembly(Type myType)
            {
                this.myType = typeof(T);
            }
    
            public string AssemblyName
            {
                get { return myType.Assembly.GetName().Name.ToString(); }
            }
    
            public string AssemblyFullName
            {
                get { return myType.Assembly.GetName().FullName.ToString(); }
            }
    
            public String CodeBase {
                get {
                    return myType.Assembly.CodeBase;
                }
            }
    
            public String Version {
                get {
                    return myType.Assembly.GetName().Version.ToString();
                }
            }
    
            public String Copyright {
                get {
                    Type att = typeof(AssemblyCopyrightAttribute);
                    object[] r = myType.Assembly.GetCustomAttributes(att, false);
                    AssemblyCopyrightAttribute copyattr = (AssemblyCopyrightAttribute)r[0];
                    return copyattr.Copyright;
                }
            }
    
            public String Company {
                get {
                    Type att = typeof(AssemblyCompanyAttribute);
                    object[] r = myType.Assembly.GetCustomAttributes(att, false);
                    AssemblyCompanyAttribute compattr = (AssemblyCompanyAttribute)r[0];
                    return compattr.Company;
                }
            }
    
            public String Configration {
                get {
                    Type att = typeof(AssemblyConfigurationAttribute);
                    object[] r = myType.Assembly.GetCustomAttributes(att, false);
                    AssemblyConfigurationAttribute configattr = (AssemblyConfigurationAttribute)r[0];
                    return configattr.Configuration;
                }
            }
    
            public string TradeMark {
                get {
                    Type att = typeof(AssemblyTrademarkAttribute);
                    object[] r = myType.Assembly.GetCustomAttributes(att, false);
                    AssemblyTrademarkAttribute aa = (AssemblyTrademarkAttribute)r[0];
                    return aa.Trademark;
                }
            }
    
            public string Culture {
                get {
                    Type att = typeof(AssemblyCultureAttribute);
                    object[] a = myType.Assembly.GetCustomAttributes(att, false);
                    if (a.Length > 0) {
                        AssemblyCultureAttribute aa = (AssemblyCultureAttribute)a[0];
                        return aa.Culture;
                    } else {
                        return "No value";
                    }
                }
            }
    
            public String Description {
                get {
                    Type att = typeof(AssemblyDescriptionAttribute);
                    object[] r = myType.Assembly.GetCustomAttributes(att, false);
                    AssemblyDescriptionAttribute descattr = (AssemblyDescriptionAttribute)r[0];
                    return descattr.Description;
                }
            }
    
            public String Product {
                get {
                    Type att = typeof(AssemblyProductAttribute);
                    object[] r = myType.Assembly.GetCustomAttributes(att, false);
                    AssemblyProductAttribute prodattr = (AssemblyProductAttribute)r[0];
                    return prodattr.Product;
                }
            }
    
            public String Title {
                get {
                    Type att = typeof(AssemblyTitleAttribute);
                    object[] r = myType.Assembly.GetCustomAttributes(att, false);
                    AssemblyTitleAttribute titleattr = (AssemblyTitleAttribute)r[0];
                    return titleattr.Title;
                }
            }
    }
  • 相关阅读:
    Tomcat 配置 项目 到tomcat目录外面 和 域名绑定访问(api接口、前端网站、后台管理网站)
    弹窗插件zDialog使用教程
    shiro+spring相关配置
    jQuery分页插件(jquery.page.js)的使用
    ueditor1.4.3配置过程(包含单独上传文件以及图片的使用),ueditor1.4.3上传配置(转 http://www.bkjia.com/webzh/1001016.html)
    ueditor1_4_3_3编辑器修改文章
    jquery获取当前select下拉选的属性值
    js点击标签时获取当前标签属性值
    mysql给root开启远程访问权限,修改root密码
    redis持久化配置
  • 原文地址:https://www.cnblogs.com/jiawei-whu/p/4281981.html
Copyright © 2020-2023  润新知