在我的公司,我们有 50 多名开发人员。大约有 9 个项目共享大量公共库(20+),这个过程每天都变得越来越复杂。主要问题是:
- 如何跟踪库的每个版本中的更改内容以及
- 在哪里存储这些程序集。现在我们使用共享驱动器,并且我们有一个约定:/lib/version/*.dll
- 如何在构建时自动嵌入正确的库。目前,我们在 Visual Studio 中使用手动更新的 .targets 文件。
你们公司是如何管理这方面的?
In my company we are 50+ developers. There are around 9 projects that share a lot of common libraries (20+) Tis process is becoming more and more complex every day. The main problems are:
- how to keep track of what was changed in each version of the library
- where to store those assemblies. Now we use a shared drive and we have a convention: /lib/version/*.dll
- how to automatically embed correct libraries at build time. We currently use a .targets file in visual studio that we manually update.
How do you manage this aspect in your company?
发布评论
评论(2)
虽然我还没有这样做,但您可以尝试将库打包为 Nuget 包,并运行内部 Nuget 服务器来提供它们。
http://docs.nuget.org/docs/creating -packages/hosting-your-own-nuget-feeds
我们开始对我们需要跨团队共享的 Ruby 库做类似的事情 - 将它们打包为 gems 并从内部 gem 服务器提供它们。
While I haven't done this, you might try packaging up your libraries as Nuget packages, and run a internal Nuget server to serve them up.
http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds
We're starting to do a similar thing with our Ruby libraries that we need to share across teams - package them up as gems and serve them from an internal gem server.
我运行 TeamCity 的免费版本,它可以自动构建项目(需要一些 MSBuild 自定义),然后输出在 TeamCity 中发布的文件,并带有可下载的链接,例如: http://10.0.0.194:8111/guestAuth/repository/download/bt3/.lastSuccessful/Project.dll。在我的项目中,我覆盖 MSBuild 中的“BeforeBuild”部分,并使用此链接下载 Project.dll 文件 - 我确保:
I run free-ware version of TeamCity that can automatically build project (some MSBuild customization required) then output file published in TeamCity with downloaded-able link for example: http://10.0.0.194:8111/guestAuth/repository/download/bt3/.lastSuccessful/Project.dll. In my project I overwrite 'BeforeBuild' section in MSBuild and download the Project.dll file with this link - this I make sure that: