开发记事本

生命中闪过了多少if...then...else...

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  58 Posts :: 2 Stories :: 280 Comments :: 12 Trackbacks

下载了 NAnt 的最新 Daily Build 版本并修改了 Build 文件后,终于解决了“头疼的问题:NAnt 的 cvs-checkout 任务无法执行”中遇到的问题了,怀疑这是 NAnt 的一个Bug,但是不知道好像很少有人碰到这个问题(在 NAnt 的 mail archive 中找到一个和我一样问题的用户,但是他好像也没有找到解决方法)。

现在准备使用 CruiseControl.Net 来构建一个持续构建的环境,在此之前 NAnt 的自动构建还有几个问题需要解决。

1.自动构建时如何对 Build 号进行自增加处理?
如果不设置 Build 号自动增加,那么每日构建的结果是看不出来是哪一次构建完成的,检测出问题时无法和构建过程相对应;
此外,对于每次构建时的一些产生的 Log 文件名、CVS 的标签也需要根据日期等自动产生,不知道 NAnt 中是否有专门进行此类工作的的任务?

2.开发环境的设置问题,是否需要统一?
在编写 build 文件时发现,编译过程中需要使用到的某些工具的路径是需要指定绝对路径的,另外 DotNet 解决方案中的引用好像也使用了绝对路径,这样麻烦就来了,开发过程中各个开发人员的工作环境不是完全统一的,工具的安装路径也不尽相同,这样代码在提交到 CVS 中后,checkout 出来进行编译时肯定会有问题。
如果在代码规范中统一指定大家安装工具的路径,统一代码存放的路径,就不会有这个问题,但是这种方法似乎有一点太死板了,我想应该有更好的解决办法的。

posted on 2004-11-29 22:17 NetCobra 阅读(2600) 评论(4)  编辑 收藏 所属分类: 开发心得

Feedback

#1楼  2005-01-25 23:24 doggo [未注册用户]
你说的“2.开发环境的设置问题,是否需要统一?”,我也遇到过,不过好象没有什么好的办法。我查过MSDN,其中对dotnet的beta版有提到过这个问题,结果是建议设置统一的路径。文章在(http://www.microsoft.com/china/msdn/archives/library/dnvs700/html/TeamworVS.asp),你可以看看。或许MS觉得这不是一个大问题吧。

  回复  引用    

#2楼  2005-06-23 14:58 wc.zhou [未注册用户]
你说的版本号进行自增的处理,我觉得可以按照规则专门编写一个小的处理程序,在版本编译前执行它,即可。
  回复  引用    

#3楼  2005-07-15 11:22 ddcopy [未注册用户]
我这里项目的版本号规则是:主版本.次版本.年份.月日
例如:Ver 2.1.5.715
含义:2.1版本,2005年7月15日编译

<!-- 编译版本号 -->
<property name="BuildYear" value="${string::substring (datetime::get-year(datetime::now()),3,1)}" />
<property name="BuildMon" value="${datetime::get-month(datetime::now())}" />
<property name="BuildDay" value="${datetime::get-day (datetime::now())}" />
<property name="BuildVersion" value="${BuildYear}.${BuildMon}${BuildDay}" />

  回复  引用    

#4楼  2005-07-15 11:26 ddcopy [未注册用户]
2.开发环境的设置问题,是否需要统一?
当然要统一,我的方法是:

建立批处理命令: setwork.bat
subst P: D:\UserData\LZ\工作文档\开发\ANMP\开发环境

每个人可以根据自己机器上的目录,设置不同的目录,但都映射到P:盘符下,这样可以在NANT里用绝对路径了。
  回复  引用    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: