创建NuGet包。需要澄清所包含的依赖关系

时间:2016-05-17 16:49:55

标签: xml nuget nuget-package

这是我第一次尝试创建NuGet包,我对一件事感到有些困惑:

如果我在我用来构建我自己的自定义NuGet包的项目中引用其他外部NuGet包(例如,Ninject,Automapper等),我应该如何在我的包中处理这些依赖项最终消耗/安装在实际项目中?

从我最初的实验到目前为止,生成的NuGet包检测到其他依赖项(Ninject,Automapper等),并在NuGet的 依赖项 部分显示它们UI。然后,当我单击Install时,它实际上会从Nuget.org下载并安装Ninject / Automapper。

这是我感到困惑的地方。 Aren的Ninject / Automapper程序集是我创建的nuget包程序集的一部分吗?难道我的自定义NuGet包的消费者不关心/看他们依赖于Ninject / Automapper吗?

其他背景资料

这是我到目前为止创建自定义NuGet包的步骤:

  1. 通过执行以下操作(在 MyProject.csproj 文件所在的同一文件夹内)创建 .nuspec 文件:

    nuget.exe spec
    
  2. 执行以下命令创建实际的包文件( .nupkg ):

    nuget.exe pack MyProject.csproj
    

1 个答案:

答案 0 :(得分:0)

您按照正确的步骤创建了包。生成包后,您的包具有nuspec文件中列出的依赖项。 了解依赖项是什么符合您的程序包的使用者的利益。此外,您还可以指定哪个版本的版本是有效的依赖项。如果您的软件包的使用者已经安装了所需的依赖项,这可能高于您的软件包所需的最小值,那么这将非常有用。