两个csproj DLL,一个NuGet软件包。如何做到这一点?

两个csproj DLL,一个NuGet软件包。如何做到这一点?,nuget,nuget-package,nuspec,Nuget,Nuget Package,Nuspec,我在Visual Studio中从事一个项目,该项目分为三个不同的项目: Acme.Webapplication 顶点域 Acme.SDK WebApplication使用存储实体类的Domain项目以及一些其他“核心”对象和接口 SDK项目是我们提供给第三方用户的东西。它对我们的WebApplication项目进行API调用。SDK项目还利用了Acme.Domain项目 现在问题来了 我们为我们的Acme.SDK创建一个NuGet包。但是因为Acme.SDK也使用Acme.Domain项目,所

我在Visual Studio中从事一个项目,该项目分为三个不同的项目:

  • Acme.Webapplication
  • 顶点域
  • Acme.SDK
  • WebApplication
    使用存储实体类的
    Domain
    项目以及一些其他“核心”对象和接口

    SDK
    项目是我们提供给第三方用户的东西。它对我们的
    WebApplication
    项目进行API调用。
    SDK
    项目还利用了
    Acme.Domain
    项目

    现在问题来了

    我们为我们的
    Acme.SDK
    创建一个NuGet包。但是因为
    Acme.SDK
    也使用
    Acme.Domain
    项目,所以我们还需要将其打包为NuGet包

    我想要的只是一个NuGet包,并且仍然能够引用来自该NuGet包的
    Acme.SDK
    Acme.Domain
    的两个类,而不是两个松散的NuGet包


    这可能吗?当然,我该怎么做呢?

    是的。如您所知,NuGet可以直接从.csproj文件创建包。这基本上是“自动”模式。这很简单,但也有局限性

    您还可以创建一个.nuspec文件,该文件允许您明确说明如何构建包。这可能包括多个程序集、依赖项、针对不同的框架等

    首先在解决方案的根目录中创建一个名为nuspec的文件夹

    在nuspec文件夹中打开命令行

    类型:
    numget spec MyPackage