?1、.Net工程的Properties文件夾下自動生成一個名為AssemblyInfo.cs的文件,一般情況下我們很少直接改動該文件。但我們實際上通過另一個形式操作該文件。那就是通過在鼠標右鍵點擊項目的屬性進入“應用程序”->“程序集信息”,然后修改信息。
?????
?????2、通過特性(Attribute)來設置程序集(dll文件)的常規信息,供查看或作為配置信息供程序內部使用。
?????此文件內容如下:
// 程序集標題
[assembly:AssemblyTitle("程序集標題")]
// 程序集描述
[assembly:AssemblyDescription("程序集描述")]
// 產品名稱
[assembly:AssemblyProduct("產品名稱")]
// 公司
[assembly:AssemblyCompany("公司名稱")]
// 合法商標
[assembly:AssemblyTrademark("合法商標")]
// 指定程序集支持的區域性
[assembly:AssemblyCulture("區域性")]
// 版權
[assembly:AssemblyCopyright("Copyright 2014")]
// 配置文件,如零售、發布、調試等信息。程序集在運行時不會使用該信息
[assembly:AssemblyConfiguration("")]
// 程序集的版本信息由下面四個值組成:
//
//? ? ? 主版本
//? ? ? 次版本?
//? ? ? 內部版本號
//? ? ? 修訂號
//
// 可以指定所有這些值,也可以使用“內部版本號”和“修訂號”的默認值,
// 方法是按如下所示使用“*”:
[assembly:AssemblyVersion("1.0.0.0")]
// 控制程序集中所有類型對COM的可訪問性
[assembly:ComVisible(false)]
// 如果此項目向 COM 公開,則下列 GUID 用于類型庫的 ID
[assembly: Guid("77bf07c6-941f-4ba7-b95d-6a5c18401f74")]
??????3、 對生成的dll文件右鍵點擊屬性,即可查看到上述信息。
assembly:?表示特性以程序集作為作用范圍。
??????4、讀取Assembly特性
?????以讀取?[assembly:AssemblyProduct("")]?為例子
Type t = typeof(Program);
AssemblyProductAttribute productAttr = t.Assembly.GetCustomAttributes(typeof(AssemblyProductAttribute), true)[0] as AssemblyProductAttribute; Console.WriteLine(productAttr.Product);
?????5、注意要點
?????1)??[assembly:AssemblyProduct("")]?特性不限于在AssemblyInfo.cs文件中使用,而是可以在任何的.cs文件中使用。
?????2) 對于同一個特性,程序集中僅能設置一次,否則編譯時將報錯。
?????示例:
[assembly:AssemblyProduct("")]namespace{ ?public class Demo{ ?} }
?