快乐小胖兔的一窟

用自己的方式过一生 --- zyq654321

VC知识库BLOG 首页 新随笔 联系 聚合 登录
  23 Posts :: 0 Stories :: 95 Comments :: 2 Trackbacks

公告

Welcome you

留言簿(4)

随笔分类

随笔档案

文章档案

相册

网站联接

BLOG友情链接

搜索

最新评论

阅读排行榜

评论排行榜

MSBuild2.0对这两种状态是无法区别的(MSBuild都认为这个Property存在且值为空),这是偶与MSBuild的开发人员之一Dan Moseley交流后得到的。据称在后面的版本中将会对此作出改进。

但是目前MS使用的是下面的方法(Dan Moseley提出的):为每个须判断的Property各加一个新的Property作其相应的状态变量。听上去感觉不错,这确实算一种通用的方法。但是想想,如果此Property数量是几十或都上百,那DOUBLE一下可不是闹着玩的。一个Property用二个Property来控制,代码的复杂度不得不增加不少,而这些并不是必须的。

我的解决方法是,仍用一个变量,但如何区别呢?只须加一个初始文件,为每个Property先设上UNDEINFED或类似的值,这样当后面用时即可简单区分开来。例子:

Init.Targets

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">      

       <PropertyGroup>         

              <MY1>UNDEFINE</ MY1>

<MY2>UNDEFINE</ MY2>

<MY3>UNDEFINE</ MY3>

<MY4>UNDEFINE</ MY4>

       </PropertyGroup>

</Project>

 

在所须的项目文件一开始加入<Import Project="Init.Targets"/>即可。

这样Condtion=”$(MY1)==’UNDEFINED’”Condtion=”$(MY1)==’’”就可以区别Property的两种状态了。

posted on 2005-08-24 13:17 快乐小胖兔 阅读(2308) 评论(6)  编辑 收藏

Feedback

# re: MSBuild: 如何区别属性的两种状态,"定义但值为空"与"未定义" 2008-01-04 13:58 旅游翻译
程序好复杂,都看不懂

# re: MSBuild: 如何区别属性的两种状态,"定义但值为空"与"未定义" 2008-01-04 14:00 在线翻译工具
计算机软件和硬件发展的太快了,日新月异

# re: MSBuild: 如何区别属性的两种状态,"定义但值为空"与"未定义" 2008-01-04 14:01 同声传译
这是讲什么啊

# re: MSBuild: 如何区别属性的两种状态,"定义但值为空"与"未定义" 2008-01-04 14:02 翻译
俺对于计算机还真是不懂啊

# re: MSBuild: 如何区别属性的两种状态,"定义但值为空"与"未定义" 2008-01-04 14:02 同传设备租赁
我国的计算机发展的还是很快的


# re: MSBuild: 如何区别属性的两种状态,"定义但值为空"与"未定义" 2008-01-04 14:03 北京翻译
不错

标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]