清空 MSBuild ItemGroup

发布于 2024-12-12 06:11:42 字数 169 浏览 0 评论 0原文

有没有办法在不诉诸目标的情况下删除 ItemGroup 的内容?我正在寻找相当于:

<ItemGroup>
  <MyItemGroup Remove="@(MyItemGroup)"/>
</ItemGroup>

谢谢

Is there a way to remove the contents of an ItemGroup without resorting to Targets? I'm looking for something equivalent to:

<ItemGroup>
  <MyItemGroup Remove="@(MyItemGroup)"/>
</ItemGroup>

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

別甾虛僞 2024-12-19 06:11:42

不可以,正如文档所述,Remove 只能包含在 Target 内的 ItemGroup 中。我不确定为什么在您的情况下使用 Target 是一个问题,但如果想对每个构建配置使用“删除”步骤,则将其添加到 BeforeXXXX AfterXXX 挂钩之一,例如 BeforeBuild。

ItemGroup“删除”文档

从 .NET Framework 3.5 开始,Target 元素可能包含 ItemGroup 元素,而 ItemGroup 元素可能包含 item 元素。这些项目元素可以包含“删除”属性,该属性从项目类型中删除特定项目(文件)。例如,以下 XML 从编译项类型中删除每个 .config 文件。

<Target>
  <ItemGroup>
    <Compile Remove="*.config"/>
  </ItemGroup>
</Target>

No, as the documentation states, Remove can only be included in a ItemGroup inside a Target. I'm not sure why using a Target is an issue in your case, but if want to use the 'Remove' step for every build config, then add it to one of the BeforeXXXX AfterXXX hooks, like BeforeBuild.

ItemGroup 'Remove' Documentation

Starting in the .NET Framework 3.5, Target elements may contain ItemGroup elements that may contain item elements. These item elements can contain the Remove attribute, which removes specific items (files) from the item type. For example, the following XML removes every .config file from the Compile item type.

<Target>
  <ItemGroup>
    <Compile Remove="*.config"/>
  </ItemGroup>
</Target>
待"谢繁草 2024-12-19 06:11:42

现在有了。

MSBuild 15 中的新增功能

    目标外部的

  • Item 元素具有新的 Update 属性。此外,Remove 属性的限制已被消除。

Now there is.

What's New in MSBuild 15

  • Item Element outside targets has a new Update attribute. Also, the restriction on the Remove attribute has been eliminated.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文