【发布时间】:2019-01-04 00:34:07
【问题描述】:
我想创建一个严格存在的 .Net 项目(.Net Framework,而不是 Core),以便组合其他各种 NuGet 包。
我有一个基于插件的系统,其中所有插件都是 NuGet 包,核心系统本身是一个 NuGet 包。核心系统没有插件是没有用的,它严格来说是一个知道如何运行插件的引擎。因为我不想在我的核心系统中包含对插件的引用,所以我需要一个完全独立的项目,它是核心系统包和我想使用的插件的组合。我将此称为我的“组合”项目,在部署到我们的服务器之前,我将所有元素“组合”在一起。
现有项目/包示例:
- 核心系统(NuGet 包...不应直接引用插件)
- 插件
- 插件 1(NuGet 包)
- 插件 2(NuGet 包)
- 等。 (NuGet 包)
假设的“组合”项目:
- 作曲项目
- 参考 -> 核心系统
- 参考 -> 插件 1
- 参考 -> 插件 2
有没有办法让项目只是引用 NuGet 包但不生成自己的程序集?也许这可以通过 MSBuild 诡计来完成。
【问题讨论】:
-
@MattWard 这将如何在 .NET Core 或 .NET Standard 上完成?此外,NuProj 存储库已由其所有者存档; NuGetizer doesn't seem to support VS 2019。注意 NuGetizer 链接指向概述文档;实际项目似乎是here。
-
不确定是否可以使用标准 dotnet 包创建元包。您可能必须创建一个只有 NuGet 包依赖项且没有内容的 .nuspec,然后使用
nuget pack Your.nuspec。