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?
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.