昨天,中华医学会眼科学分会视光学组(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路径写正确既可