【问题标题】:NuGet Package DependenciesNuGet 包依赖项
【发布时间】:2015-01-30 05:42:10
【问题描述】:

对于一个包对某个其他库的每个依赖项,是否也需要解析和安装这些库?

例如,我创建了一个使用NLogPostsharpWindowsAzure.Storage 的包:

我的软件包的客户现在是否也必须安装这些软件包?为什么不能在包中包含这些依赖 DLL?

【问题讨论】:

    标签: nuget nuget-package nuget-server


    【解决方案1】:

    当消费者安装你的 nuget 包时,nuget 也会自动解析并安装依赖包。

    include the dlls within the package 可以,但不推荐。因为他们必须以一种或另一种方式引用他们需要使用您的包的 dll(在本例中为 NLogPostSharpWindowsAzure.Storage)。最好让消费者自己控制安装的库。

    通过 nuget 获得依赖项的另一个好处是,消费者可能会决定安装较新版本的 WindowsAzure.Storage 库,当您没有将 dll 注入包中时,他可以轻松完成此操作。否则你可能会遇到一些混乱的程序集运行时错误。

    您可以通过用于构建 nuget 包的 nuspec 文件控制包中包含的内容。

    【讨论】:

    • 这个答案不是很清楚。 nuspec 文件应包含您的包的依赖项列表。当用户安装您的包时,NuGet 将查看依赖项并自动安装这些依赖项(如果尚不存在)。它还将安装这些依赖项的任何依赖项,依此类推。注意:用户不必手动安装依赖项。请参阅docs.nuget.org/create/nuspec-reference 上的指定依赖项
    • Kiliman,答案中有什么不清楚的地方?您没有添加答案中未提及的任何内容。
    猜你喜欢
    • 2019-03-19
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多