我正在构建一个属性表层次结构(其中许多按照平台和配置有条件地包含),并尝试编写一组目标,以帮助诊断可能潜入的任何错误。
我想要的是已经包含的属性表列表。
例子:
<ImportGroup Condition="$(Configuration.Contains('Debug'))">
<Import Project="ps.cpp.config.debug.props"/>
</ImportGroup>
<ImportGroup Condition="$(Configuration.Contains('Release'))">
<Import Project="ps.cpp.config.release.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Platform)' == 'x64'">
<Import Project="ps.cpp.plat.x64.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Platform)' == 'Win32'">
<Import Project="ps.cpp.plat.win32.props"/>
</ImportGroup>
还有一个这样的目标:
<Target Name="DumpPropertySheets">
<!-- This doesn't work! -->
<!-- <Message Text="%(Import.Project)"/> -->
</Target>
当使用
msbuild test.vcxproj /t:DumpPropertySheets /p:Platform=x64 /p:Configuration:Debug
进行构建时,应该会产生如下控制台输出结果。DumpPropertySheets:
ps.cpp.config.debug.props
ps.cpp.plat.x64.props