gpt4 book ai didi

msbuild - 如何使 msbuild ItemGroup 项目用空格而不是分号分隔?

转载 作者:行者123 更新时间:2023-12-03 21:34:49 26 4
gpt4 key购买 nike

观察 msbuild 脚本的以下部分:

<ItemGroup>
<R Include="-Microsoft.Design#CA1000" />
<R Include="-Microsoft.Design#CA1002" />
</ItemGroup>

我想把它转换成
/ruleid:-Microsoft.Design#CA1000 /ruleid:-Microsoft.Design#CA1002
现在,我想出的最好的是 @(R -> '/ruleid:%(Identity)') ,但这只会产生
/ruleid:-Microsoft.Design#CA1000;/ruleid:-Microsoft.Design#CA1002
请注意分隔两个规则的分号,而不是空格。这很糟糕,fxcop 无法识别它 - 我需要一个空间。

现在,这是一个简单的例子,所以我可以声明如下:
<PropertyGroup>
<R>/ruleid:-Microsoft.Design#CA1000 /ruleid:-Microsoft.Design#CA1002</R
</PropertyGroup>

但是,我不喜欢这样,因为实际上我有很多规则希望禁用,并且像这样列出所有规则是我希望避免的。

最佳答案

要使用分号以外的字符分隔每个项目,请使用语法 @(myType, 'separator')

<ItemGroup>
<R Include="-Microsoft.Design#CA1000" />
<R Include="-Microsoft.Design#CA1002" />
</ItemGroup>

<Target Name="FxcopRulesFlattening">
<!-- Using the syntax @(ItemName, 'Separator')-->
<Message Text="@(R -> '/ruleid:%(Identity)', ' ')"/>
</Target>

关于msbuild - 如何使 msbuild ItemGroup 项目用空格而不是分号分隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3008927/

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