NuGet 包依赖项

NuGet Package Dependencies

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

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

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

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

可以include the dlls within the package,但不推荐。因为无论如何,他们必须引用他们需要使用您的包的 dll(在本例中为 NLogPostSharpWindowsAzure.Storage)。消费者最好能控制安装的库。

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

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