.Net魔法堂:AssemblyInfo.cs文件詳解


一、前言                              

  .net工程的Properties文件夾下自動生成一個名為AssemblyInfo.cs的文件,一般情況下我們很少直接改動該文件。但我們實際上通過另一個形式操作該文件。那就是通過在鼠標右鍵點擊項目的屬性進入“應用程序”->“程序集信息”,然后修改信息。

 

二、作用                              

   通過特性(Attribute)來設置程序集(dll文件)的常規信息,供查看或作為配置信息供程序內部使用。

 

三、詳解                              

// 程序集標題
[assembly:AssemblyTitle("程序集標題")]
// 程序集描述
[assembly:AssemblyDescription("程序集描述")]
// 產品名稱
[assembly:AssemblyProduct("產品名稱")]
// 公司
[assembly:AssemblyCompany("公司名稱")]
// 合法商標
[assembly:AssemblyTrademark("合法商標")]
// 產品的內部名稱
[assembly:AssemblyCulture("產品的內部名稱")]
// 版權
[assembly:AssemblyCopyright("Copyright 2014")]

// 程序集的版本信息由下面四個值組成:
//
//      主版本
//      次版本 
//      內部版本號
//      修訂號
//
// 可以指定所有這些值,也可以使用“內部版本號”和“修訂號”的默認值,
// 方法是按如下所示使用“*”:
[assembly:AssemblyVersion("1.0.0.0")]

// 控制程序集中所有類型對COM的可訪問性
[assembly:ComVisible(false)]
// 配置文件,如零售、發布、調試等信息。程序集在運行時不會使用該信息
[assembly:AssemblyConfiguration("")]

對生成的dll文件右鍵點擊屬性,即可查看到上述信息。

assembly: 表示特性以程序集作為作用范圍。

 

四、讀取assembly特性                        

 以讀取 [assembly:AssemblyProduct("")] 為例子

Type t = typeof(Program);
AssemblyProductAttribute productAttr = t.Assembly.GetCustomAttributes(typeof(AssemblyProductAttribute), true)[0] as AssemblyProductAttribute;
Console.WriteLine(productAttr.Product);

 

五、注意點                               

 1.  [assembly:AssemblyProduct("")] 特性不限於在AssemblyInfo.cs文件中使用,而是可以在任何的.cs文件中使用。

 2. 對於同一個特性,程序集中僅能設置一次,否則編譯時將報錯。

 示例:

[assembly:AssemblyProduct("")]
namespace{
  public class Demo{
  }
}

 

六、總結                                

  現在回頭看《.Net魔法堂:log4net詳解》當中的那句 [assembly:log4net.Config.XmlConfigurator(Watch=true)] 應該就清晰多了。其實就是配置log4net框架從哪里讀配置文件而已,當然這句也可以寫到AssemblyInfo.cs文件中統一管理咯!

  尊重原創,轉載請注明來自:http://www.cnblogs.com/fsjohnhuang/p/3992258.html ^_^肥仔John

 

七、參考                                

http://www.itwis.com/html/net/aspnet/20091211/7123.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM