在一家小型公司(50多名开发人员)中管理.net共享库

时间:2012-02-09 15:49:15

标签: .net gac

在我的公司,我们有50多名开发人员。大约有9个项目共享许多共同的库(20多个)。每天,这个过程变得越来越复杂。主要问题是:

  1. 如何跟踪每个版本库中的更改
  2. 存储这些程序集的位置。现在我们使用共享驱动器,我们有一个约定:/ lib / version / * .dll
  3. 如何在构建时自动嵌入正确的库。我们目前在visual studio中使用.targets文件,我们手动更新。
  4. 您如何管理公司的这方面?

2 个答案:

答案 0 :(得分:1)

虽然我还没有这样做,但您可以尝试将库打包为Nuget包,并运行内部Nuget服务器来为它们提供服务。

http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds

我们开始对我们需要跨团队共享的Ruby库做类似的事情 - 将它们打包为gems并从内部gem服务器提供它们。

答案 1 :(得分:0)

我运行TeamCity的免费软件版本,可以自动构建项目(需要一些MSBuild自定义),然后输出在TeamCity中发布的文件,其中包含可下载的链接,例如:http://10.0.0.194:8111/guestAuth/repository/download/bt3/.lastSuccessful/Project.dll。在我的项目中,我覆盖了MSBuild中的'BeforeBuild'部分,并使用此链接下载Project.dll文件 - 我确保:

  • 我正在使用最新版本的Project.dll(它始终保存在同一个http链接中)
  • 我下载的dll(或任何内容)通过了一些测试(取决于TeamCity配置)
  • 我独立于其他程序员,因为我没有手动复制/粘贴或使用共享驱动器
  • 可从任何IDE /程序/任何可访问站点和下载文件(Java,C ++,Python等)的任何内容访问。
  • 等等等...