使用第三方依赖项创建nuget包:何时内化?

时间:2012-12-20 16:18:51

标签: nuget nuget-package

如果您要创建一个必须添加某些第三方依赖项的NuGet包,那么您基本上有两个选项:

  1. 将DLL内部化到包的lib文件夹中。
  2. 在您的nuspec文件中引用第三方库作为依赖项。
  3. 我注意到,例如RavenDB已经内化了所有第三方依赖项,而其他一些项目显然依赖于其他NuGet包。

    我想知道是否有关于何时选择任何一种方法的最佳做法/提示。 什么是专业人士和每个人的利弊?

2 个答案:

答案 0 :(得分:6)

本着NuGet的精神,我建议在第三方软件包上添加依赖项,而不是内化DLL。 NuGet是围绕“依赖”构建的,它完全依赖于那些。

答案 1 :(得分:0)

我冒昧地说,这更多地取决于您的实现是否特定于版本,以及是否有可能在更新和释放依赖关系时,您的程序包可以从中受益(或者如果不推荐实现可能会损坏)。 / p>

此外,通过使包具有nuget依赖性,可以减少重复和目录大小(以及包大小)。更常见的库只包含在您的项目中一次(但是任何其他可能也使用此库的包都会受益,因为它已经被包含在内)。