在MSBuild PreBuildEvent/PostBuildEvent事件期间,$(TargetPath)和!(TargetPath)之类的属性引用有什么区别?我发现它们在某些情况下的工作方式不同,但我找不到任何关于"!("形式的文档.
http://msdn.microsoft.com/en-us/library/bb383819.aspx 这是我似乎能找到的最接近的.
例:
<Target Name="BeforeBuild">
<CreateProperty Value="NewValue">
<Output TaskParameter="Value" PropertyName="TargetPath" />
</CreateProperty>
</Target>
<PropertyGroup>
<PreBuildEvent>
echo $(TargetPath)
echo !(TargetPath)
</PreBuildEvent>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
将回显原始TargetPath,然后回显"NewValue".但是,这对我定义的其他属性不起作用.
任何帮助非常感谢!