严格创建用于组成NuGet包的.Net项目

时间:2019-01-02 17:57:52

标签: c# .net msbuild nuget

我想创建一个.Net项目(.Net Framework,而不是Core),该项目的存在纯粹是为了构成其他各种NuGet软件包。

我有一个基于插件的系统,其中所有插件都是NuGet程序包,核心系统本身是NuGet程序包。没有插件的核心系统是无用的,它严格来说是一个知道如何运行插件的引擎。因为我不想在核心系统中包含对插件的引用,所以我需要一个完全独立的项目,该项目由核心系统软件包和我要使用的插件组成。我将其称为“合成”项目,在此之前,我将所有元素“合成”在一起,然后再部署到我们的服务器上。

现有项目/软件包的示例:

  • 核心系统(NuGet包...不应直接引用插件)
  • 插头
    • 插件1(NuGet软件包)
    • 插件2(NuGet软件包)
    • 等等(NuGet程序包)

假想的“组成”项目:

  • 组成项目
    • 参考->核心系统
    • 参考->插件1
    • 参考->插件2

是否有一种方法可以使项目仅引用NuGet软件包但不产生自己的程序集?也许可以使用MSBuild技巧来做到这一点。

1 个答案:

答案 0 :(得分:1)

我不知道一种仅将nuget包与要连接的程序集放在一起的方法。

但是没关系。我们也在公司这里做到了这一点。我们有一个解决方案和一个.csproj文件,其中包含所有内容(数百个其他项目)所需的所有nuget软件包。当然,它会产生一个关联的.DLL。但这没关系,只需执行一个后构建步骤即可将其删除。