在哪里存储第三方图书馆?

时间:2010-04-27 05:40:19

标签: .net asp.net-mvc-2

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

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

我在lib内创建了appdir目录,并引用了lib/Ninject.dll

但可能有一些关于如何在这种情况下采取行动的一般惯例?

3 个答案:

答案 0 :(得分:4)

更新:仅供参考 - Here's a link to how the MVC team structure their own repository

作为我的MVC目录设置的一部分,我将项目外的库放在它们自己的文件夹结构中,并添加对这些库的引用。

所以我检出的目录结构如下所示:

Apps
   Project 1
    - Project files 

   Project 2
   - Project files 

Libraries
- LibraryName
-- LibraryVersion

这为所有库提供了一个标准的位置,当多个项目使用相同的库并且具有一个真实的南方时,它特别有用。

使构建服务器引用问题变得更加容易。

HTH

答案 1 :(得分:3)

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

    • Ninject
      • 1.0
      • 1.5
      • 2.0
    • NHibernate的
      • 2.1.0
      • 2.1.2
  • 项目1
  • 项目2

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

对于我们自己内部开发的库,代码存储在项目中的树中,DLL被复制到Library分支。然后我们的项目参考发布版本。

这种结构可以很容易地使开源库的版本保持同步(例如Hibernate,Fluent NHibernate和NHibernate Linq)。

答案 2 :(得分:2)

约定使用此文件夹结构:

  • 项目主干。
    • 构建
      • 构建脚本。
    • 分贝
      • 数据库员工。 (您应该使用所有代码对db进行版本控制)。
    • 文档
      • 文档,规范以及所有相关内容。
    • LIB
      • Ninject
    • SRC
      • ProjectName.Core
      • ProjectName.UI
      • ProjectName.sln