How TO:为强名装配件打补丁
强名包含文件版本号和publickey。而且版本号的每一位都是强名的组成部分,可我们在进行每日构建,也就是每次build都要重新设置到新的版本的引用。这在研发阶段不是问题,但如果在运行阶段发现一个bug需要修复,按照版本规则,每次build后依然要修改版本号。那我的程序岂不是要全部重新build?这可不是我想要的
.
微软这丫是怎么干的?他的.net framework1.0都出了三个service pack了,.net framework1.1也出了一个service pack了,他们是怎么搞得?
仔细研究一下微软的文件,就拿System.dll来说,在安装.net framework1.1 service pack1前,版本号为1.1.4322.573;而安装完sp1后版本号变更为1.1.4322.2032....但是等等,通过资源管理器查看GAC中的版本:1.0.5000.0,安装sp1前后没有变化![]()
回过头来再仔细看一下c:\windows\microsoft.net\framework\v1.1.4322目录下的system.dll文件的属性,原来是文件版本为1.1.4322.2032,而实际装配件的版本号根本没有变化![]()
好了,我们也可以这么搞!仔细研究帮助发现在AssemblyInfo.cs文件中的有一个属性[assembly:AssemblyFileVersion(““)],在引号中写入版本号即可。这样就可保证既可以进行每日构建的版本号规则,又可以确保依赖此程序的文件不受影响:D

浙公网安备 33010602011771号