gpt4 book ai didi

具有条件的MSBuild ItemGroup

转载 作者:行者123 更新时间:2023-12-04 06:22:17 26 4
gpt4 key购买 nike

我不知道ItemGroup是否是正确的类型。根据选择,我将得到4个不同的 bool 值,它们是对还是错。

我想用“字符串”来填充ItemGroup,具体取决于对还是错。那有可能还是我应该使用什么?

例子

Anders = true
Peter = false
Michael = false
Gustaf = true

我的 ItemGroup应该有
安德斯和古斯塔夫。

那可能吗,或者我应该如何解决?

最佳答案

由于您有一堆物品,因此最好从一开始就将它们存储在ItemGroup中,因为毕竟这是要使用的,并且还允许进行转换等。例如,这可以实现您想要的:

<ItemGroup>
<Names Include="Anders">
<Value>True</Value>
</Names>
<Names Include="Peter">
<Value>False</Value>
</Names>
<Names Include="Michael">
<Value>False</Value>
</Names>
<Names Include="Gustaf">
<Value>True</Value>
</Names>
</ItemGroup>

<Target Name="GetNames">

<ItemGroup>
<AllNames Include="%(Names.Identity)" Condition="%(Names.Value)==true"/>
</ItemGroup>

<Message Text="@(AllNames)"/> <!--AllNames contains Anders and Gustaf-->
</Target>

但是,如果它们必须是属性,那么我认为除了手动枚举它们外,别无其他方法,如下所示:
<PropertyGroup>
<Anders>True</Anders>
<Peter>False</Peter>
<Michael>False</Michael>
<Gustaf>True</Gustaf>
</PropertyGroup>

<Target Name="GetNames">

<ItemGroup>
<AllNames Include="Anders" Condition="$(Anders)==true"/>
<AllNames Include="Peter" Condition="$(Peter)==true"/>
<AllNames Include="Michael" Condition="$(Michael)==true"/>
<AllNames Include="Gustaf" Condition="$(Gustaf)==true"/>
</ItemGroup>

<Message Text="@(AllNames)"/>
</Target>

关于具有条件的MSBuild ItemGroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13010851/

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