字符串和MSBuild属性的直接值之间有什么区别?

时间:2016-02-01 12:07:48

标签: msbuild

使用System.String和直接写入属性值有什么区别,例如:

<PropertyGroup
  <DefineConstants>$([System.String]::new('Debug;Lang=EN'))/DefineConstants>
  <DefineConstants>Debug;Lang=EN</DefineConstants>
</PropertyGroup>

我注意到构建工具的调用方式不同,即:

  1. candle -d"Debug;Lang=EN" ...
  2. candle -dDebug -dLang=EN ...
  3. 我不认为这是相关的,但是对于值得的蜡烛任务被用作

    <Candle
      SourceFiles="@(_CompileWithObjectPath)"
      DefineConstants="$(DefineConstants);$(SolutionDefineConstants);$(ProjectDefineConstants);$(ProjectReferenceDefineConstants)"
      ...
    

    (注意,这是一个最小的测试用例,实际上我调用了一个返回字符串的属性函数。)

0 个答案:

没有答案