【问题标题】:Creating a NuGet package. Need clarification about included dependencies创建 NuGet 包。需要澄清包含的依赖项
【发布时间】:2016-09-13 21:47:25
【问题描述】:

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

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

到目前为止,从我最初的实验来看,生成的 NuGet 包会检测到那些其他依赖项(Ninject、Automapper 等),并将它们显示在 NuGet 的 Dependencies 部分下用户界面。然后,当我单击安装时,它实际上会从 Nuget.org 下拉并安装 Ninject/Automapper。

这就是我困惑的地方。到那时,我创建的 nuget 包程序集不是 Ninject/Automapper 程序集的一部分吗?我的自定义 NuGet 包的消费者不应该不在乎/看到他们依赖于 Ninject/Automapper 吗?

其他背景信息

这些是迄今为止我创建自定义 NuGet 包所采取的步骤:

  1. 通过执行以下命令创建了 .nuspec 文件(在 MyProject.csproj 文件所在的同一文件夹中):

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

    nuget.exe pack MyProject.csproj
    

【问题讨论】:

    标签: xml nuget nuget-package


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我想我自己也意识到了这一点。我对程序集依赖的基础知识很感兴趣。
    猜你喜欢
    • 2013-02-07
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    相关资源
    最近更新 更多