[已解决问题] vss dll问题。
提问时间: 2008-05-12 11:10
悬赏分:20 浏览:69 次

不知道大家有没有这样的问题:

 一台本地的机子当vss服务器。项目里有几个类库,开发人员签出后,对类库进行修改并重新编译。然后签入,服务器还要进行获取最新版本,但是类库里的文件是最新的,而dll却不是重新编译后的dll,而是原来的。

难到在服务器上还要打开vs进行编译?那不是太麻烦了。


提问者:艾面条 - 初学一级
最佳答案
Vss并不负责进行编译和部署,他只是管理你的的代码,维护他们的版本。
一般情况下,我们也不将编译的产出放在VSS服务器上。因为,一般情况下我们都可以很快的基于服务器上的源代码产生一个新的dll。

对于自动集成,你需要部署你的自动集成环境。刚才在网上搜了一下,好像很多人都用CruiseControl.Net进行自动集成的部署。但是,我认为,如果项目不大,MSBuild完全可以完成自动集成的工作。同样,如果项目不大,只需要部署每日集成就完全可以满足大多数需要了。但是,可能需要自己开发一些东西(至少我们公司目前是采用这种方式进行的,感觉已经完全够用了)

这件事情我不是从头开始做的,所以一时也不能给你很详细的介绍。重点讲几个我们实践中的点吧:
1. 每天Build时,给源代码打Label
    VSS中获得某一天的源代码的能力太弱(几乎是不可能完成的任务),因此,有时候你想回溯以前的代码,找到出问题的点(这种事情还是时有发生的)时,没有Label,你会抓狂的。
2. 确保每天都是编译通过的
    除非有明确的原因,否则必须确保每天的Build都是通过的,可以采取一些惩罚措施,比如,如果谁嵌入的代码导致当天的Build不通过,需要请所有开发人员喝可乐。(实践证明,这种小惩罚方式对于团队的氛围很有帮助,当然,PM某些时候也要给大家一些奖励:))
    如果经常的违反这一条,Daily Build也就失去了应有的价值。

推荐一系列文章,也许有用:http://www.cnblogs.com/cnblogsfans/archive/2008/04/24/1169689.html
2008/5/12 12:53:42 回答者:Colin Han


提问者对于答案的评价:研究了一下cc.net,还不错。不过不觉得好用,可能还没熟悉它。还是谢谢了。
其它回答(2)
答案就是:Vss并不负责进行编译和部署,他只是管理你的的代码,维护他们的版本。
通俗的说,就是你的储存代码的地方,在客户机编译成功的DLL,当然也可以在存入VSS

4天前   回答者:泛舟 - 菜鸟二级
楼上的二位正解!
4天前   回答者:刚刚 - 小虾三级
评论
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除