这两天在琢磨用NAnt来实现自动构建,目前已经搞清楚了Build文件的编写方法了,针对目前的项目写了一个build文件,现在测试时编译、FxCop静态分析等工作都正常执行,只有cvs-checkout执行不正确,不知道问题出在什么地方。
下面是我试验用cvs-checkout任务的build文件:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
这个实验性的Build文件的目的就是把cvs repository :pserver:scmuser@192.168.0.1:/DotNet 下的RailWayStation模块检出到D:\下。
以上这个build文件在不同情况下执行的错误现象如下:
- 使用NAnt 0.84 Stable Release,cvs-checkout 任务的usesharpcvslib属性设为 false,在执行时只显示一句“Connection established”,没有检出操作,目标目录中的文件没有变化;
- 使用NAnt 0.84 Stable Release,cvs-checkout 任务的usesharpcvslib属性设为 true,在执行时只显示一句“Connection established”,有时会报sharpcvs内部错误,没有检出操作,目标目录中的文件没有变化;
- 使用NAnt 0.85 04-11-18的 Nightly build,cvs-checkout 任务的usesharpcvslib属性设为 false,在执行时提示 cvs-checkot任务的 password 属性已经被废弃,建议改用 cvs-pass 属性,但是改为 cvs-pass 属性后,执行时提示 “Unexpected attribute "cvs-pass" on element <cvs-checkout>.”;继续使用 password 属性则在执行时无法提交指定的cvs密码,而是使用空密码,造成受权失败,真是莫名奇妙!
- 使用NAnt 0.85 04-11-18的 Nightly build,cvs-checkout 任务的usesharpcvslib属性设为 true,在执行时显示如下的信息,然后就没有任何后续的检出操作了。
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/dot.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
在Google里面好像没有找到我遇到的故障,今天一天都在琢磨这个故障,有点快发疯的感觉了。