使用System.String
和直接写入属性值有什么区别,例如:
<PropertyGroup
<DefineConstants>$([System.String]::new('Debug;Lang=EN'))/DefineConstants>
<DefineConstants>Debug;Lang=EN</DefineConstants>
</PropertyGroup>
我注意到构建工具的调用方式不同,即:
candle -d"Debug;Lang=EN" ...
candle -dDebug -dLang=EN ...
我不认为这是相关的,但是对于值得的蜡烛任务被用作
<Candle
SourceFiles="@(_CompileWithObjectPath)"
DefineConstants="$(DefineConstants);$(SolutionDefineConstants);$(ProjectDefineConstants);$(ProjectReferenceDefineConstants)"
...
(注意,这是一个最小的测试用例,实际上我调用了一个返回字符串的属性函数。)