MSBUILD - 使用@ vs $引用属性?

时间:2013-12-05 17:03:58

标签: .net msbuild

在使用.net安装的microsoft目标文件中,我注意到在不同位置使用@和$引用了一些属性?我做了一些谷歌搜索,我找不到任何描述同一变量的这两个用法之间的区别:

<SomeProperty>@(_AnotherProperty)</SomeProperty>
<SomeOtherProperty>$(_AnotherProperty)</SomeOtherProperty>

引用_AnotherProperty与@与$?

之间的区别是什么

1 个答案:

答案 0 :(得分:1)

确定。所以我认为答案是,它们不是两个属性。即使在目标文件中,microsoft使用相同的名称。

不同之处在于$(Something)引用了一个属性。

  

属性是可用于配置构建的名称 - 值对。   属性对于将值传递给任务进行评估非常有用   条件,并存储将在整个过程中引用的值   项目文件。 http://msdn.microsoft.com/en-us/library/ms171458.aspx

@(Something)引用了“item”。

  

MSBuild项目是构建系统的输入,它们通常是   代表文件。项目根据其项目分组为项目类型   元素名称。项类型是可以用作的项的命名列表   任务参数。任务使用项值来执行   构建过程的步骤。 http://msdn.microsoft.com/en-us/library/ms171453.aspx

微软目标中令我困惑的是“框架目录”属性和“框架目录项”之间的区别。所以我会继续学习。我不打算将此作为答案,以防其他人有更好的回应。