所有解决方案包都复制到单个项目的输出中

时间:2019-05-06 20:53:59

标签: visual-studio nuget

我有一个解决方案,其中包含一个主要的.NET项目(WPF桌面应用程序)和几个库项目(即插件)。每个项目都包含(不重叠)对NuGet软件包的引用(使用PackageReference机制安装)。例如:

  • WpfApplication 参考:
    • MaterialDesignThemes
    • MvvmValidation
    • System.Threading.Tasks.Dataflow
  • Plugin1 参考:
    • Newtonsoft.Json
    • WpfApplication (复制local = False)
  • Plugin2 参考:
    • Accord.Video.FFMPEG
    • WpfApplication (复制local = False)

但是当我构建 Plugin1 时,构建目录( WpfApplication 构建目录的子目录)包含在 WpfApplication 和 Plugin1 (但未在 Plugin2 中定义的软件包)。

类似地,当我构建 Plugin2 时,构建目录(同样是 WpfApplication 构建目录的子目录)包含在 WpfApplication中引用的软件包的并集。 Plugin2 (但未在 Plugin1 中定义的软件包)。

我没有使用较旧样式 packages.config 的问题。

这些额外的软件包每个插件共包含100多个文件和15MB的磁盘空间!我该如何阻止这种情况的发生?

1 个答案:

答案 0 :(得分:0)

请尝试在wpfapplication配置文件内的PackageReference节点中添加标签“ ExcludeAssets”(这些资产将不被使用),如下所示: enter image description here

然后,构建Plugin1 / 2再次进行测试。有关更多详细信息,请检查this doc