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



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

  1. 如何跟踪库的每个版本中发生的更改
  2. 将这些组件存放在何处。现在我们使用共享驱动器,并且我们有一个约定:/lib/version/*.dll
  3. 如何在构建时自动嵌入正确的库。我们目前在visualstudio中使用手动更新的.targets文件

你是如何在公司管理这方面的?

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

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

我们开始对我们的Ruby库做类似的事情,我们需要在团队之间共享这些库——将它们打包为gem,并从内部gem服务器提供服务。

我运行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等)访问
  • 等等等等

最新更新