我正在寻找一种方法,在命令行中传递属性表(.props文件)给MSBuild。MSBuild似乎没有特定的属性表开关,但有一个
是否有一些方法可以在命令行上提供属性表,或者使用
/property
命令行开关,可以用来覆盖项目中的单个属性。是否有一些方法可以在命令行上提供属性表,或者使用
/property
开关应用属性表呢?在您的项目文件中添加以下导入:
<Import Project="$(CustomProps)" Condition="Exists($(CustomProps))" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
行下面(在这种情况下,其他属性表可以覆盖它的值)或上面的 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
行之上(因此您可以使用自定义属性表应用“最终”值)。然后在命令行传递 /p:CustomProps=/path/to/props
编辑:msbuild 也内置了这个功能,只是觉得这有点像如何为msbuild任务设置预处理器定义作为任务属性的副本。除非您想要控制导入发生的位置,否则必须选择ForceImportBeforeCppTargets和ForceImportAfterCppTargets之间。