流箫 的 Blog

兴趣是最好的老师! ----Interest is the best teacher.
posts - 70, comments - 66, trackbacks - 0, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

[原创]利用VSS高效管理项目DLL

Posted on 2011-11-24 19:42 流箫 阅读(...) 评论(...) 编辑 收藏

一、引言

      在实际的项目开发过程中大多数人会利用VSS来管理项目代码文件及其它资源,我们可以把解决方案中要用到的所有的第三方DLL放到解决方案下的某个项目下的一个固定的文件夹中,其它的多个项目都引用该文件夹下的DLL,这样就可以利用VSS来管理项目的DLL,但是这种解决办法还是有些不太合理之处:

      1、一个解决方案下有多个项目,多个项目引用相同的DLL,那么这个专门用来存放DLL的文件夹应该放在与解决方案同级目录下面(也就是与.sln文件在同一目录下),而不是放在多个项目中的一个项目下来供多个其它项目引用, 那么如何把与解决方案文件同目录级的文件夹放入VSS中管理呢?

      2、在团队合作开发中,其它多个团队成员从VSS上首次获取解决方案及项目文件之后不得不手动的把所有的DLL都引用一遍来使得从VSS上获取的代码能编译通过,那么有没有办法把项目对DLL的引用关系也放到VSS中来统一管理呢?

 

二、解决方法

     1、团队项目中对第三方的DLL的管理由一个团队成员负责。

     2、打开VS并新建一个“空白解决方案”命名为“SolutionTest”,同时选中“添加到源代码管理”,如图:

        1

        2

   3、在与解决方案文件同级目录下建立“Library”文件夹来存放DLL,把项目所用到的第三方DLL都复制到Library目录下,如图:

        2.1

        2.2

   4、在解决方案中新建一个同名的Library“解决方案文件夹”,如图:

      3

      4

  5、通过添加“现有项”的方式来把物理磁盘上的”Library”下的所以DLL加入到解决方案下该“解决方案文件夹”下,如图:

    3

    5

  6、在需要使用这些DLL的项目中添加对这些DLL的引用,并编译整个通过,然后递归的把解决方案签入到VSS

     6

     7

  7、其它团队成员直接从VSS获取最新版本后,就可以直接编译通过,有用再次的对每个项目添加DLL引用。

  8、若引用的第三方DLL有的新的版本后,应该先将该DLL从VSS签出,然后打开物理的Library文件夹,用新版本的DLL物理替换老版本的 DLL后将其签入到VSS, 其它团队成员直接获取最新版本即可。

  9、若要删除DLL,则直接在VS中的DLL上右键删除即可。

 

三、结束语

  本人在实际项目中也为如何高效的管理DLL而恼苦,多次Google之后无果,后经多次尝试,终于找到了比较好的解决办法,为了与多人分享才有此博文。

  若有不妥之处欢迎指正。