Discuz教程网

如何在ASP.NET程序中显示程序集版本号

[复制链接]
authicon 海誓 发表于 2010-12-30 13:09:35 | 显示全部楼层 |阅读模式
  于很多有趣的原因,ASP.NET程序中虽然可以往App_code目录中追加AssemblyInfo.cs文件,但位于该文件中的版本号总是无法正确的显示在用户面前。
  如果你通过下面的语句企图像其他.NET应用程序一样获取Assembly中的版本号的话,你将永远得到一个0.0.0.0的字符串。
  
  1. System.Reflection.Assembly.GetAssembly(this.GetTyp e()).GetName().Version.ToString();
复制代码

  很多人能说出一堆理由来告诉我企图在ASP.NET程序中获取程序集版本号是多么愚蠢的一件事,我对此也非常的理解,并表示认同,但如果得到变态的要求的话我们还是需要动手来实现这件事情的。
  首先在App_Code文件下下增加一个AssemblyInfo.cs文件,文件的内容模板可以从其他.NET应用程序中复制。
  其次,在Global.asax文件的Application_Start段落中增加如下代码:
  Global.asax
  

  1. void Application_Start(object sender, EventArgs e)
  2.   {
  3.   // ...
  4.   // Load Assembly
  5.   Application.Add("Assembly", System.Reflection.Assembly.Load("App_Code/AssemblyInfo.cs"));
  6.   // ...
  7.   }
复制代码

  简单来说就是直接指定Assembly文件,然后直接放到Application的缓存中。
  最后就是在代码中获取版本号,既然知道是怎么存进去的,取出来就简单了:
 
  1.  VersionNumber.Text = ((System.Reflection.Assembly)Application["Assembly"]).GetName().Version.ToString();
复制代码




上一篇:在asp.net中KindEditor编辑器的使用总结
下一篇:PHP中几个常用的时间应用方式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 17:35

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表