You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core项目中如何按模式忽略指定node_modules文件夹

解决.NET Core SDK风格csproj中忽略apps子文件夹下node_modules的问题

我刚好碰到过类似的情况,SDK风格的.csproj默认会自动包含项目目录下的大部分文件,你之前的配置没生效主要有两个原因:一是路径写法的细节问题,二是没彻底覆盖默认的文件包含逻辑。

下面是经过验证的有效配置,直接加到你的.csproj文件里就行:

<ItemGroup>
  <!-- 移除已被包含的apps下所有node_modules及其内容 -->
  <Content Remove="apps/**/node_modules/**" />
  <None Remove="apps/**/node_modules/**" />
  
  <!-- 强制阻止这些路径被自动包含 -->
  <Content Include="apps/**/node_modules/**" Condition="false" />
  <None Include="apps/**/node_modules/**" Condition="false" />
</ItemGroup>

关键细节说明:

  • 用**匹配任意层级的文件夹,末尾再加**是为了覆盖node_modules文件夹里的所有文件和子文件夹,只写apps/**/node_modules/只会匹配文件夹本身,不会处理里面的内容
  • SDK风格项目会自动把文件归类为Content、None等类型,所以要同时处理这两种常见类型
  • 加上Condition="false"的Include配置,是为了彻底阻止MSBuild自动包含这些路径,避免后续其他配置意外覆盖你的排除规则

如果你的项目里还有其他自定义的文件包含规则,记得检查有没有和这个排除规则冲突的地方,比如有没有其他ItemGroup里的Include语句包含了apps/**/*这类范围过大的路径。

内容的提问来源于stack exchange,提问作者Grigor Aleksanyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:47:27