对.refresh文件还有疑问的看过来
来源:互联网 发布:手机自动开数据怎么办 编辑:程序博客网 时间:2024/06/03 03:00
使用VS开发ASP.Net应用程序的朋友应该都碰到过以下两个小问题:一个就是跟在DLL下面的.refresh文件,另一个就是bin目录不能直接签入到VSS或TFS里。
对于.refresh文件一开始就是觉得可有可无,不知所谓。而bin目录中的dll不能签入的文件,很长时间都是通过VSS直接拖进去的。
.refresh文件究竟是做什么用的?
.refresh是VS发现引入了第三方(或自行开发)的库后自动加入的。这个文件可以直接在VS里打开,其内容非常简单,就是一个引入DLL的路径。在生成时如果通过这个路径发现.refresh记录的源文件是否发生变化,如果有更新就会自动更新,如果觉得该文件无用或者误删除就会导致第三方库文件不会自动更新的问题(见参考1)。所以.refresh是用于自动更新第三方库引入的一个记录文件。
bin目录签入VSS,伪命题?!
大家可以注意到,VS资源管理器中Bin目录的图标是单独的,而Bin目录主要存放引入到类库,由于开发过程中经常会涉及到调试、更新等,所以Bin目录本不该签入进去(见参考2/3)。
应该如何规划库文件?
以笔者的经验,一个项目至少分为两个解决方案(.Solution),其中一个是库解决方案比如Lib,另一个是应用项目比如App。Lib下的项目比如Model、BLL、DAL等,App下放各种应用比如MainWeb、WebService、ClientTools等,一个典型的项目目录组织如下图所示。
重点就是建立一个公共的DLL文件输出目录BinFactory,LIb下所有项目都是库项目,设置输出目录到BinFactory,App目录下的项目都引入BinFactory的dll文件。当Lib更新后就会把文件输出到BinFactory,而这个时候.refresh文件就比较有用了,因为同时可能有多个项目( MainWeb、WebService等)引入库文件,如果手动更新到每个项目的bin文件就比较麻烦了,有了.refresh就会自动完成这个动作,非常方便。而这时只需要将BinFactory文件签入就可以让团队共享了,每个项目的bin文件就不用签入了。事情到此就perfect了。
参考1:引用项目类库时dll.refresh文件的影响
参考2:细节决定成败—关于.net的.dll.refresh文件
参考3:SourceSafe 2005无法添加bin目录下的文件
- 对.refresh文件还有疑问的看过来
- 对FPC各种不会用的同志们看过来
- 你对做水晶头还有疑问吗?
- 《大腕》做售前的看过来
- 初学32的看过来
- 如果你对异常还有疑问,请看这里。
- 对SharpMap的疑问
- 国外的一个pull to refresh,还有滑动删除
- 浏览器的开发爱好者看过来
- 经常郁闷的朋友看过来啦
- 关注DB2的朋友们看过来
- 不想早死的程序员们看过来!
- 不想早死的程序员们看过来!
- 不想早死的程序员们看过来!
- 不想早死的程序员们看过来!
- 熟悉C#即时通讯的看过来。
- 要想了解我的看过来
- 想学好英语的看过来
- Repeater的分页
- 复习MYSQL
- The file contains a character that cannot be represented in the current code page (936)
- linux epoll机制源代码分析一数据结构
- 有关Android种的Dialog之我所见
- 对.refresh文件还有疑问的看过来
- doubango?这是什么?
- Java做Acm入门示例视频
- 电脑控制手机的另一选择——android vnc server
- tomcat安装失败
- 有理想的人领导着有能力的人
- 诺基亚英雄迟暮:抗拒Android或难挽颓势
- Think pad硬盘分区
- Flex应用BlazeDS时报错:[RPC Fault faultString="发送失败" faultCode="Client.Error.MessageSend"