您的位置:知识库 »

团队开发时的解决方案建立技巧

作者: 沙加  来源: 博客园  发布时间: 2008-09-09 11:58  阅读: 1950 次  推荐: 0   原文链接   [收藏]  

这篇文章主要讨论在团队开发时使用VS2005/2008时建立解决方案时的一些经验和问题。

随着项目的增大,项目内的工程数量和文件数量也在不断增加,每次编译将会花费更多的时间,如何减少编译时间提高开发效率呢?

我们知道,VS的引用通常有几方式,GAC,项目引用,程序集引用,Web引用等。我们的各个工程可以引用另外一个工程,这样,在解决生成时VS会自动根据项目的依赖关系自动决定生成时的顺序。在单独生成某个工程时也会自动地同时生成它所依赖的相关工程,这确实会给我们带来一些方便,但正如前面所说的,一旦项比较多的时候,这个编译花费的时间可能较长。

为了解决这个问题,我总结一些经验,即工程之前的引用可以不直接引用工程而是采用引用程序集的方式.。在沙加的神舟本上做实验,先在解决方案目录下新建一个Lib 目录, 打开工程的属性页,将"输出路径" 指向lib目录,编译当前工程,其它需要引用此工程的项目添加对lib目录里面生成的dll引用。这样一来每一个开发人员只需要建立自己的解决方案添加自己所负责的那部分工程即可。编译的速度也会加快,但是依赖工程有改动时记得要重新编译才会生效, 相关的依赖项目不会被自动编译。 其它的第三方程序集也可以放在这个目录下,如果有更新直接替换重新编译就可以了。 如果同一台服务器上布署的多个程序需要引用同一程序集,比如EnterpriseLib,可以把它加入到GAC里面去,这样可以提高效率而不必为每一个程序保留一下单独的拷贝。

另外顺便说说, 把不同的类分开到不同的程序集可能会有几个原因:
1. 升级的时候只需要升级相关的组件就可以了;
2. 可以利用反射动态加载不同的组件程序集使程序的灵活性更高;
3. 有利于程序集的复用;
4. 使用不同开发语言开发的程序集可以互相引用。

如果项目不大完全可以放在一个程序集里面不要为了分层而分层,  比如BlogEngine就只有一个工程;

合理地分开可以让程序不加载不必要的程序,但不宜分得过多,微软也提示尽量将几个小程序集合并为大的程序集,程序集的加载也是需要时间的。

另外,VS2005和VS2008可以共享项目文件,只需要分别建立两个版本的解决方案就可以了,但是要注意编码的风格应按照2.0的标准。比如不能使用自动属性,虽然它在VS2008建立的2.0工程下也可以工作得很好(那是因为它使用了高版本的编译器)。

0
0
标签:开发技巧

热门文章

    最新文章

      最新新闻

        热门新闻