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

发布前如何从NuGet包中排除文件?解决APPX1101重复文件错误

解决NuGet包中意外包含package.json/package-lock.json导致的APPX1101冲突

问题根源

你使用的Microsoft.NET.Sdk.Razor SDK会默认将项目根目录的package.json、package-lock.json识别为Content类型文件,并自动打包到NuGet包的contentFiles目录中。你之前尝试的<None Update>只对None类型的文件生效,所以无法排除这两个文件。

正确解决方法

方法1:修改mypackage的csproj,直接排除目标文件(推荐)

在mypackage的.csproj文件中添加以下配置,将这两个文件的Pack属性设为false:

<ItemGroup>
  <Content Update="package.json" Pack="false" />
  <Content Update="package-lock.json" Pack="false" />
</ItemGroup>

修改完成后执行以下步骤:

  • 清理mypackage项目:dotnet clean
  • 重新生成并打包:dotnet pack
  • 更新主项目中mypackage的引用到新生成的版本

方法2:主项目中临时排除包的contentFiles(应急方案)

如果暂时无法重新打包mypackage,可以在主项目的PackageReference中排除该包的所有contentFiles:

<PackageReference Include="mypackage" Version="0.3.1">
  <ExcludeAssets>contentFiles</ExcludeAssets>
</PackageReference>

⚠️ 注意:此方法会排除该包所有的contentFiles文件,若你的mypackage中还有其他需要的内容文件,请勿使用此方案。

验证排除效果

打包完成后,可以使用NuGet Package Explorer打开生成的.nupkg文件,检查contentFiles/any/net9.0目录下是否已移除package.json和package-lock.json。

内容的提问来源于stack exchange,提问作者Takeshi Tokugawa YD

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:22:27