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

如何通过修改nuspec文件从NuGet包中移除冗余DLL

如何通过修改nuspec文件排除NuGet包中的非必需DLL

你可以在nuspec文件的<package>节点下添加<files>节点,通过精确控制文件的包含与排除规则,无需修改.csproj就能移除不必要的DLL。

修改后的完整nuspec示例

<package >
  <metadata>
    <id>myProject.csproj</id>
    <version>1.0.0</version>
    <authors>user</authors>
    <owners>user</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Test package 1</description>
    <releaseNotes>Summary of changes.</releaseNotes>
    <copyright>Copyright 2023</copyright>
    <tags>Tag test</tags>
  </metadata>
  <!-- 添加文件控制节点 -->
  <files>
    <!-- 包含项目主输出的DLL和调试符号文件 -->
    <file src="bin\Release\myProject.dll" target="lib\net6.0" />
    <file src="bin\Release\myProject.pdb" target="lib\net6.0" />
    <!-- 排除不需要的DLL,多个文件用分号分隔 -->
    <file src="bin\Release\*.dll" target="lib\net6.0" exclude="不需要的DLL1.dll;不需要的DLL2.dll" />
  </files>
</package>

关键规则说明

  • src:指定要打包的文件路径,注意替换成你实际的输出目录(比如bin\Debug)和目标框架(比如把net6.0换成你的项目对应框架)。
  • target:指定文件在NuGet包中的存放位置,类库包通常放在lib\[目标框架]目录下。
  • exclude:用具体文件名或通配符排除非必需文件,多个文件用分号分隔。如果要保留主DLL并排除其余所有依赖DLL,也可以只明确包含主DLL,不添加其他通配符包含规则。

如果不确定要排除的文件路径,可以先解压已生成的nupkg包,查看内部文件结构后再针对性编写排除规则。

内容的提问来源于stack exchange,提问作者He-Man

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:50:11