现在的位置: 首页 > 综合 > 正文

引用项目类库时dll.refresh文件的影响

2012年02月01日 ⁄ 综合 ⁄ 共 504字 ⁄ 字号 评论关闭

昨天,中华医学会眼科学分会视光学组(www.chinaopt.org)网站发布新版本,结果发现一个严重问题,其中一个类库没有自动更新,而是自动生成了一个过期版本。

经过排查发现,原来和VSS中的一个dll.refresh文件有关。

原因很简单:

1。开发过程中,网站添加其他外部dll引用时,系统自动生成了该refresh文件,如果是添加本解决方案下其他项目dll引用不会生成此文件

2。该refresh文件指定了自动更新dll的路径,如果是类库引用,其中会指定Dubug或者Release目录,这次出错的文件就是指定Debug目录

3。开发人员误将该文件签入VSS代码库

4。问题来了,该引用类库在第一期版本发布后多次变动,但接口无变化,所以都是单独生成该类库,然后只更新所有应用的对应DLL(Release版本),一直没有问题,但是,当某应用重新发布时,由于该项目BIN目录中refresh文件的存在,导致自动以该文件指定路径更新DLL,就导致了旧版本 DLL(Debug版本)的发布

 

问题解决:

删除应用中dll.refresh文件,重新发布应用即可

或者 把dll.refresh里面的内容修改一下 ,dll路径写正确既可

抱歉!评论已关闭.