我有一个解决方案,其中包含一个主要的.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的磁盘空间!我该如何阻止这种情况的发生?
答案 0 :(得分:0)
请尝试在wpfapplication配置文件内的PackageReference节点中添加标签“ ExcludeAssets”(这些资产将不被使用),如下所示:
然后,构建Plugin1 / 2再次进行测试。有关更多详细信息,请检查this doc。