代码改变世界

细节决定成败—关于.net的.dll.refresh文件

2010-07-31 14:12  小郝(Kaibo Hao)  阅读(2558)  评论(1编辑  收藏  举报

  一直在做.net的项目,c/s的、b/s的,一直没有注意这个东西。

  众所周知,.net的程序生成后会在bin目录下生成.dll文件,而.dll.refresh这个文件从何而来呢?那天无聊地google了下才知,这个东东是在你的项目中引用第三方程序集(是直接的)时自动生成的,这个.refresh文件存储了那个第三方文件的原始文件路径,如果该路径下的这个dll更新了,vs在生成本项目时,就会根据这个地址更新改程序集。如果没有这个文件,vs就无法根据最新状态更新引用的程序集了,所以会造成程序集版本不对的问题。一个小细节将会导致大问题,大家注意呦!尤其是项目组来了新成员时,要普及教育下...

  总结下之前对程序集引用的经验:

  1. 在项目的根目录下建一个叫“Dependency Library”的文件夹,将引用的第三方程序集放进去(这样项目开发时就不会自己到处去引用了,放在bin下话会引起源码管理冲突的问题,所以不能放到bin下,要独立文件夹)

  2. 注意.refresh文件,不要当临时文件删了,它标识着原始引用dll的文件路径。