欢迎来到天天文库
浏览记录
ID:42871375
大小:269.50 KB
页数:5页
时间:2019-09-23
《浅谈NET中的版本管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅谈.NET中的版本管理目录摘要概念正文附注总结摘要:随着社会的发展,人们对于科技应用到各个领域冇新的认识,同时,这就使我们技术人员对于开发平台也冇更高的要求。人家都知道,或者都听过,.NET冇很强悍的版本控制,可以让我们很轻松的进行程序集的版本控制,实现程序的灵活配豐和简单升级,告别DII地狱,木文将用一个具体的实例说明如何使用这个功概念:(一)DotNet中的版本组成DotNet中的版本由4个物理号码组成,如图(一)主版本号次版本号内部版本号修订号2•0・2・X图(一)在程序集里面,我们可以通过加上AssemblyVersion特性來设置它,如[assembly:Ass
2、emblyVersion("2.0.2.11")](二)GAC:计算机范围内的代码缓存,它存储专门安装的程序集,这些程序集山计算机上的许多应用程序共享。在全局程序集缓存中部署的应用程序必须具冇强名称,一个程序集如果注册到了GAC里,被其他程序集合引用的时候,将不会拷贝副本到引用的程序II录中。(木文只讨论注册到GAC中的程序集)正文:(1)我们现在开始写第一个组件它的版本号为1.0.0.0有一个类,包含一个简单的方法,该方法返回一个字符串代码如下,我都做了注解I/首先生成强名称到文件中sn-kc:Version.snk//写类文件usingSystem;usingSyst
3、em.Ref1ection;(asscmbIy:AsscmbIyKcyFiIc(@"c:Vcrsion.snk")
4、//因为注册到GAC,所以使用强名称签名[asscmbIy:Asscmb1yVcrsion("1.0.0.0")1//设置版本号namespaceVIIpub1icclassVI{publicVl()1)publicstringGetVersion()1return*'你好,我是版本1";)}I编译成组件V1.dll拷贝这个V1.dll到文件夹c:V1把V1.dll注册到GACGacutil-Ic:V1W1.dll系统显示注册成功(2)然后我们编写一个控
5、制台程序测试这个组件TestVersion.csIII///请添加对Vl.dll(c:VlVl.dll)的引用,因为是在Gac里而,所以VI.dlI不会在本地目录存在IIIusingSystem;namespaceTestVersionIclassTestVersion{staticvoidMain(string[]args)vi・VIvl=newVI.Vl();Console・\fiteLine(v1.GetVersion());Console.Read();编译后运行(TestVersion.exe)屏幕输出的结果是:”你好,我是版本T(3)好了,-•切很美好,过
6、了儿年了,我们得升级程序了现在來编写V1.dll升级版木,版木号为2.0.0.0V1.cSusingSystem;usingSystem.Refleclion;[assemb1y:Assemb1yKeyFi1e(c:Version.snk")]///使用上面的强名称[asscmb1y:Asscmb1yVcrsion("2.0.0.0")]///注意,这里已经改了主版本号namespaceVI(publicclassVI{publicVl()1)publicstringGetVcrsion()1return”你好,我是版本2";///修改了输出的结果,这样我们才知道到底是运
7、行了那个)})编译成组件V1.dll拷贝这个V1.dll到文件夹c:V2把V1.dll注册到GACGacutil-Ic:V2W1.dll(2).现在來看看再次运行TestVersion.exe输出了什么东西是的,和原来的没有变化还是”你好,我是版木1”为什么不是”你好,我是版本2”?我们用ildasm.exe打开程序集TestVersion.exe看看是的,它目前就是使用了版木1.0.0.0(5)我们开始进行版本升级把TestVersion.exe使用的版本由1.0.0.0替换成版本2.0.0.0其实很简单的,给我们的TestVersion.exe加个配置文件TestV
8、ersion.exe.config里面打入<
此文档下载收益归作者所有