在哪里存储第三方库?

zer*_*kms 5 .net asp.net-mvc-2

我有 asp.net mvc 2 应用程序。

现在我正在重新实现它以与Ninject. 一切都很好,除了一件事:我应该存储在哪里Ninject.dll

我已经lib在我的内部创建了目录appdir并引用了lib/Ninject.dll.

但在这种情况下,是否有一些关于如何采取行动的通用惯例?

37S*_*ars 3

我认为这取决于您要对应用程序做什么。如果该项目将与其他开发人员共享,我将使用其他答案中概述的结构之一。但是,如果这是您组织内部的项目,其中您将有多个项目和开发人员,希望所有项目和开发人员都共享库。我会使用这样的东西,其中库仅包含 DLL:

  • 图书馆
    • 忍者
      • 1.0
      • 1.5
      • 2.0
    • NHibernate
      • 2.1.0
      • 2.1.2
  • 项目1
  • 项目2

这是我们在开发过程中实施的结构。我们有多个项目使用同一库的不同版本。我们可以非常轻松地将应用程序迁移到该库的较新版本。这还可以防止在七个不同的项目中拥有 DLL 的七个副本。

对于我们自己内部开发的库,代码存储在项目下的树中,并将 DLL 复制到库分支。然后我们的项目引用发布版本。

这种结构可以轻松地保持开源库的版本同步(例如 Hibernate、Fluent NHibernate 和 NHibernate Linq)。