【问题标题】:Exclude files except the minified version in NuSpec file排除 NuSpec 文件中除缩小版本外的文件
【发布时间】:2026-01-29 23:10:01
【问题描述】:

我有一个 NuSpec 文件来创建一个 NuGet 包。我有一些缩小的 .js 文件,我不希望 NuGet 包中的原始 .js 文件。

我尝试使用! 不排除缩小文件。

<files>
    <file src="v1\**" target="v1" exclude="!v1\**\*.min.js;v1\**\*.js" />
</files>

这只不起作用,它会删除.js.min.js文件。

我可以使用什么样的语法来实现这一点?

【问题讨论】:

  • 还有include="**\*min.js" 吗?一些 msbuild 道具有这个。
  • @sommmen 不幸的是 include 不是一个可接受的属性:(

标签: nuget-package nuspec


【解决方案1】:

我没有像我想象的那样找到任何解决方案。在我看来,这根本不可能。在nuspec documentation 中也没有提到做类似的事情。

我的解决方案最终是像这样拆分文件行。

<files>
    <!--Move all minified js files-->
    <file src="v1\js\js1\*.min.js" target="v1\js\js1\" />
    <file src="v1\js\js2\*.min.js" target="v1\js\js2\" />

    <!--The rest of the files that are not js and exclude all source js files-->
    <file src="v1\js\**" target="v1\js\" exclude="v1\js\**\*.js" />
</files>

我必须比我想要的更具体,因为target 不允许使用*

【讨论】: