AssemblyInfo文件

简介: AssemblyInfo.cs文件主要用来设定生成的dll程序集的一些常规信息, 部分信息可以在引用dll时 从属性中直接看到.   // 标题,属性中不可见// 默认值是DLL库名,可以修改成任意值,不影响使用.// 注意: 千万不要当成生成的DLL的名字,生成的DLL的名字是你建立类库时输入的那个名字。

AssemblyInfo.cs文件主要用来设定生成的dll程序集的一些常规信息, 部分信息可以在引用dll时

从属性中直接看到.

 

// 标题,属性中不可见
// 默认值是DLL库名,可以修改成任意值,不影响使用.
// 注意: 千万不要当成生成的DLL的名字,生成的DLL的名字是你建立类库时输入的那个名字。
[assembly: AssemblyTitle("WebApplication01")]

 

// 描述,属性中可见。
[assembly: AssemblyDescription("")]

 

// 文化信息,属性中可见
// 注意:调用DLL时通过assembly的fullname来找,如“ClassLibraryForReadingInfo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”
// 这里可以赋值,但是会导致找不到DLL. 因为Caller一直是调用“ClassLibraryForReadingInfo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null” 而此时DLL为"ClassLibraryForReadingInfo, Version=1.0.0.0, Culture=en, PublicKeyToken=null"
提示找不到Assembly,不知道为什么是这样??
[assembly: AssemblyCulture("")]

 

//配置文件,不知道有什么用???
[assembly: AssemblyConfiguration("")]

 

// 公司,属性中不可见
[assembly: AssemblyCompany("")]   

 

// 产品信息
[assembly: AssemblyProduct("not for commerce")]

 

// 版权,属性中不可见
[assembly: AssemblyCopyright("Copyright ©  2009")]

 

// 商标,属性中不可见
[assembly: AssemblyTrademark("")]

 

//程序集是否对COM可见
[assembly: ComVisible(false)]

 

用程序获取Assembly信息
== 根据Type得到Assembly的信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace Test1
{
    class AccessAssembly
    {
        static void Main()
        {
            //Change "ClassLibraryForReadingInfo.Class1" to any Class.
            AssemblyInfo<ClassLibraryForReadingInfo.Class1> infoClass = new AssemblyInfo<ClassLibraryForReadingInfo.Class1>();
            Console.WriteLine("AssemblyFullName : {0}", infoClass.AssemblyFullName);
            Console.WriteLine("AssemblyName : {0}", infoClass.AssemblyName);
            Console.WriteLine("CodeBase : {0}", infoClass.CodeBase);
            Console.WriteLine("Company : {0}", infoClass.Company);
            Console.WriteLine("Copyright : {0}", infoClass.Copyright);
            Console.WriteLine("Description : {0}", infoClass.Description);
            Console.WriteLine("Product : {0}", infoClass.Product);
            Console.WriteLine("Title : {0}", infoClass.Title);
            Console.WriteLine("Version : {0}", infoClass.Version);
            Console.WriteLine("Configration : {0}", infoClass.Configration);
            Console.WriteLine("TradeMark : {0}", infoClass.TradeMark);
            Console.WriteLine("Culture : {0}", infoClass.Culture);
            Console.Read();
        }
    }


    public class AssemblyInfo<T>
    {
        private Type myType;

        public AssemblyInfo()
        {
            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;
            }
        }
    }
}



转自:http://blog.sina.com.cn/s/blog_61c4c1f60100eira.html

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

目录
相关文章
|
6月前
|
Windows
Hasleo EasyUEFI v5.5单文件版
Hasleo EasyUEFI,轻松管理EFI/UEFI启动项 & 管理EFI系统分区 & 修复EFI系统启动问题!EasyUEFI是免费EFI启动管理软件,用于管理EFI/UEFI启动项,包括创建、删除、编辑、清理、备份和还原EFI/UEFI启动项。
77 0
|
6月前
|
存储 内存技术
什么是文件
什么是文件
148 0
|
6月前
文件
文件操作。
37 0
|
NoSQL Python
PythonExcel文件
在Python中,我们可以使用许多库来处理Excel文件,其中最常用的是pandas和openpyxl。
82 0
|
编译器 数据库 C语言
文件(上)——“C”
文件(上)——“C”
|
Go 数据安全/隐私保护 Windows
WinNTSetup V5.3.0 Bata5 单文件版
WinNTSetup 是一款Windows系统硬盘安装器,支持从PE和本地安装系统,支持支持NT内核的系统。
WinNTSetup V5.3.0 Bata5 单文件版
|
C#
C#生成anb文件
C#生成anb文件
131 0
C#生成anb文件
|
存储
Fasta和Fastq文件
Fasta和Fastq文件
239 0
|
Windows Linux
八、文件的处理
f = open ('‪H:\\呵呵.txt',encoding='utf-8',mode='r') s = f.read print(s) f.close f:变量,f_obj,file,f_handler,...文件句柄。
1102 0