gpt4 book ai didi

MSBuild,覆盖命令行上的属性表

转载 作者:行者123 更新时间:2023-12-04 16:10:53 24 4
gpt4 key购买 nike

我正在寻找一种将命令行上的属性表(.props 文件)传递给 MSBuild 的方法。 MSBuild 似乎没有针对属性表的特定开关,但确实有 /property command line switch ,您可以使用它来覆盖项目中的各个属性。

有没有办法在命令行上提供属性表,或者使用 /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 也内置了此功能,只是认为这是 How to set PreProcessorDefinitions as a task propery for the msbuild task 的副本.除了那里,如果您想控制导入发生的位置,您必须在 ForceImportBeforeCppTargets 和 ForceImportAfterCppTargets 之间进行选择。

关于MSBuild,覆盖命令行上的属性表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41897883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com