如何处理 NuGet 仅开发包的依赖关系?

Nip*_*ris 5 .net c# msbuild nuget

我正在编写一个 MSBuild 任务来将 SVG 图像转换为 XAML 绘图(这将帮助我按原样在项目中使用 SVG 图像,而无需在运行时处理 SVG)。有一个SharpVectors库,它完全满足我的需求,我正在使用它来执行实际的转换。该库以 NuGet 包形式提供。

稍后我计划将我的任务打包到单独的 NuGet 包中,以便在多个项目中使用它。我面临的问题是,我不知道如何在“仅开发”包的情况下利用包依赖机制。事实上,我不知道如何使用内部的 MSBuild 任务制作我的程序集,以便能够解析位于依赖项中的引用程序集(在我的例子中为 SharpVectors)。

在通常的构建过程中,这个问题不存在,因为依赖项中的所有程序集都只是复制到输出文件夹中。但在开发程序集或工具的情况下,此策略似乎不正确,因为这会用运行时不需要但仅在构建时需要的程序集污染输出文件夹。

我发现的唯一解决方案是将所有必需的程序集包含在我的 MSBuild 任务的包中,但它有明显的缺点,例如包尺寸巨大。