My team has been moving to using NuGet to solve our dependency problem. Last week we put the final piece in place by publishing our internal shared libraries to an internal NuGet server.

This allows us to take advantage of the excellent .NET Open Source community, while keeping our "not for public" consumption libraries private. Our internal server hosts only our internal libraries and NuGet handles resolving all reference from the public package source. Which lends itself to a really clean workflow.

Next steps for us are to update to the latest version of TeamCity which has NuGet based build triggers.

Here is a quick video demonstrating how to use the internal/public feeds together from a users perspective in Visual Studio.