Asp.Net 顯示程序集版本號

Asp.Net入門基礎:如何顯示程序集版本號

於很多有趣的原因,ASP.NET程序中雖然可以往App_code目錄中追加AssemblyInfo.cs文件,但位於該文件中的版本號總是無法正確的顯示在用戶面前。

  如果你通過下面的語句企圖像其他.NET應用程序一樣獲取Assembly中的版本號的話,你將永遠得到一個0.0.0.0的字符串。

  System.Reflection.Assembly.GetAssembly(this.GetTyp e()).GetName().Version.ToString();

  很多人能說出一堆理由來告訴我企圖在ASP.NET程序中獲取程序集版本號是多麼愚蠢的一件事,我對此也非常的理解,並表示認同,但如果得到變態的要求的話我們還是需要動手來實現這件事情的。

  首先在App_Code文件下下增加一個AssemblyInfo.cs文件,文件的內容模板可以從其他.NET應用程序中複製。

  其次,在Global.asax文件的Application_Start段落中增加如下代碼:

  Global.asax

  void Application_Start(object sender, EventArgs e)

  {

  // ...

  // Load Assembly

  Application.Add("Assembly", System.Reflection.Assembly.Load("App_Code/AssemblyInfo.cs"));

  // ...

  }

  簡單來說就是直接指定Assembly文件,然後直接放到Application的緩存中。

  最後就是在代碼中獲取版本號,既然知道是怎麼存進去的,取出來就簡單了:

  VersionNumber.Text = ((System.Reflection.Assembly)Application["Assembly"]).GetName().Version.ToString();



C# AssemblyInfo.cs主要用來設定生成的有關程序集的常規信息dll文件的一些參數
請看以下具體說明:

//標題:  
[assembly:AssemblyTitle(" ")]
//備註:  
[assembly:AssemblyDescription(" ")]
//產品名稱
[assembly:AssemblyProduct(" ")]
//公司
[assembly:AssemblyCompany(" ")]
//合法商標
[assembly:AssemblyTrademark(" ")];
//程序集支持的區域性

[assembly:AssemblyCulture("")]
//版權
[assembly:AssemblyCopyright(" ")]
//配置文件
[assembly:AssemblyConfiguration("Configuration")]

//版本號
[assembly: AssemblyVersion("1.0.0.*")]

//程序集是否對COM可見

[assembly: ComVisible(false)]

生成dll文件以後再點擊右鍵看看它的屬性,你就爲在裏面看到熟悉的內容了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章