我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > Asp基础/应用 > 程序集的版本控制[下]
热门文章排行
热门文章排行 手推车”功能的实现(10-07)
八大法则防范ASP网站漏洞(10-23)
ASP教程十一、调试ASP脚本(10-23)
在JSP中访问数据库大全(10-23)
虚机服务中常见Asp.Net低级错误一览(03-21)
精采文章排行
精采文章排行 ASP.NET实现抓取网页中的链接(11-15)
ASP连接数据库的11种方法(11-10)
如何动态创建网页的RSS内容摘要(11-10)
ASP网站漏洞及入侵防范方法(11-10)
ASP自定义函数:对字符串正则替换(11-10)
技术专题推荐
网管论坛交流
 

程序集的版本控制[下] 

作者:佚名   来源:本站教程   点击:   日期:2007-03-22

这里就具体的实现对程序集版本的控制简单地说说两种方法。希望能有一定的参考意义吧。
1。手动编码实现:
在类中添加静态只读的字符串类型的属性CodeVersion表示程序集(即变量所在类)的版本号。例如在2005年1月20日第一次编写了Member类,那么依照本文上半部分(http://blog.csdn.net/crazytomato/archive/2005/01/28/codelibraryversioncontrolshang.aspx)的讨论,该程序集编译后的版本号应为1.0.2005-01-20.0,则代码如下:

Class Member

{

public static string CodeVersion

{

get

{

return “1.0.2005-01-20.0”;

}

}



//Other Code …



}




在页面代码中使用程序集时,在初始化类或使用类的静态方法前,先判断程序集版本。当版本符号所需要的要求时再对其进行使用。例如:





//… Other Code …

If(Member.CodeVersion = = “1.0.2005-01-20.0”)





{

Member member = new Member();

// Other Code …

}

Else

{

throw new Exception(“正在使用的程序集版本不是所需要的版本!”);

}



或者先对版本号字符串进行一些处理:





//… Other Code …

string MemberVersion = Member.CodeVersion;

string MajorMemberVersion = MemberVersion. Substring(0, 1);

int IntMajorMemberVersion = Convert.ToInt32(MajorMemberVersion);

If(IntMajorMemberVersion >= 2)

{

Member member = new Member();

// Other Code …

}

Else

{

throw new Exception(“正在使用的程序集版本过旧,请使用新版本的程序集!”);

}




2。对程序集使用强名称:

//这里仅列出一般性的大概说明

首先,使用强名称工具(Sn.exe),生成密钥文件;

然后,在程序集的属性中加入相关信息,并写入版本号,区域等相关信息,例如:

[assembly: AssemblyVersion("1.0.2005-01-20.0")] //程序集的版本号

[assembly: AssemblyKeyFile("KeyFile.snk")] //用Sn.exe生成的密钥文件

则编译后便为程序集使用了强名称,并且赋予了版本号 1.0.2005-01-20.0

然后在使用该程序集时可使用.Net提供的方法来对访问程序集的属性值;

在使用程序集时只需要绑定所需要的版本号,或者使用所需要的版本策略,从而即可达到版本控制的目的,不再需要手动检查并匹配版本信息。
//具体说明以及使用强名称工具,绑定版本号,使用版本策略等详细情况可查阅MSDN及.Net Framework SDK文档,






文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP中巧用Response属性 ·第六课:ASP脚本循环语句
·在 Web 页上使用条件数值格式 ·连接数据库查询手册(不仅仅适用于asp)
·警惕"给你的FileSystemObject对象加把锁" ·用ASP做全文检索

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。