【发布时间】:2023-03-17 02:14:01
【问题描述】:
我刚开始使用 MSBuild,无论出于何种原因,这似乎比应有的复杂。我试图让构建过程完全忽略“node_modules”文件夹。我已经尝试了各种方法。这是我的最新消息:
<ItemGroup>
<DefaultExclude Include="node_modules\*.*" />
<!-- tried **\node_modules\** -->
<!-- tried **node_modules** -->
<!-- tried node_modules\** -->
<!-- tried several others combinations -->
</ItemGroup>
<ItemGroup>
<InstallInclude Include="**\*.ascx" Exclude="packages\**;@(DefaultExclude)" />
<InstallInclude Include="**\*.asmx" Exclude="packages\**;@(DefaultExclude)" />
<InstallInclude Include="**\*.css" Exclude="packages\**;@(DefaultExclude)" />
<InstallInclude Include="**\*.html" Exclude="packages\**;@(DefaultExclude)" />
</ItemGroup>
<Copy SourceFiles="@(InstallInclude)" DestinationFolder="$(MSBuildProjectDirectory)\ResourcesZip\%(RecursiveDir)" />
<!-- this resources directory ends up with all the node_modules in it -->
不用说,构建过程需要很长时间,有时会中断(不一致)。
MSBuild 最初是一个令人困惑的噩梦。
【问题讨论】:
-
和 应该可以工作,这取决于结构级别node_modules 文件夹和 .csproj。我已经用你的代码测试了它,它对我有用。在使用最新配置进行测试之前,您是否清除了目标文件夹中的文件?重建项目时VS不会自动清除它。如果你已经搞清楚了,能否分享一下解决方案资源管理器中的结构层次? -
很难说出确切的问题,因为您没有显示您的目录结构...排除需要精确的路径匹配,请参见例如msdn.microsoft.com/en-us/library/…。否则使用
Condition='%(RelativeDir)' != 'node_modules'"之类的条件
标签: visual-studio-2015 msbuild