gpt4 book ai didi

msbuild - 如何从 MSBuild 中的 ItemGroup 构建 PropertyGroup 条目?

转载 作者:行者123 更新时间:2023-12-02 18:58:21 25 4
gpt4 key购买 nike

我对 MSBuild 非常陌生,无法弄清楚如何从条件部分构造 PropertyGroup 条目。

这是我所拥有的,但不起作用:

<ItemGroup>
<CompilerDirective Include="DEBUG_PARANOID" Condition=" '$(SomeFlag)' == 'true' "/>
<CompilerDirective Include="DEBUG"/>
<CompilerDirective Include="TRACE"/>
</ItemGroup>

<PropertyGroup>
...
<DefineConstants>@(CompilerDirective)</DefineConstants>
...
</PropertyGroup>

如果 SomeFlag 设置为 true,我希望定义的常量显示为 DEBUG_PARANOID;DEBUG;TRACE,如果不是,则省略 DEBUG_PARANOID。顺便说一句,这是针对 .csproj 的。

如果我用消息任务打印出@(CompilerDirective),它就可以工作。

我的问题是如何在 PropertyGroup 条目中实现此功能?

最佳答案

上面的内容有效。我运行了这个:

<Target Name="Test">
<ItemGroup>
<CompilerDirective Include="DEBUG_PARANOID"
Condition=" '$(SomeFlag)' == 'true' "/>
<CompilerDirective Include="DEBUG"/>
<CompilerDirective Include="TRACE"/>
</ItemGroup>
<PropertyGroup>
<DefineConstants>@(CompilerDirective)</DefineConstants>
</PropertyGroup>
<Message Text="$(DefineConstants)" />
</Target>

并得到正确的输出 调试;跟踪或者 调试_偏执;调试;跟踪取决于属性(property)的值(value)。这在什么情况下对您不起作用?

关于msbuild - 如何从 MSBuild 中的 ItemGroup 构建 PropertyGroup 条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5345865/

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