I have a Java background so I’m used to having Maven handle all problem around downloading and keeping dependencies up to date. But in the .NET environment I have not yet fo
Find some place to store the assemblies. For example, I store the .Net core assemblies like so:
>\NetFX\2.0527\* >\NetFX\3.0\* >\NetFX\3.5\* >\NetFX\Silverlight 2\* >\NetFX\Silverlight 3\* Use the ReferencePath property in MSBuild (or AdditionalReferencePath in Team Build) to point your projects at the appropriate paths. For simplicity and easy maintenance, I have 1 *.targets file that knows about every such directory; all of my projects Import that file.
EDIT
In response to the update in the question, let me add one more step:
4) Make sure every assembly reference in every project file uses the full .Net strong name and nothing else.
Bad:
False
..\..\..\..\..\..\..\Program Files (x86)\Microsoft SQL Server\100\Shared\Microsoft.SqlServer.Smo.dll
Good:
Advantages of the latter format: