We have pool of MSVS solutions (Solution \"A\", \"B\", \"C\", ... ) that share basic functionality in assembly called \"Common.dll\".
There are 3-5 active solutions (th
There are other options, also:
D) Put all projects inside the same SVN (or other CVS) root.
This allows branching and tagging while making sure you have a consistent version of Common branched with every project. This way you simply include the project in each solution as needed.
The problem is, of course, that all projects are inside the same SVN. :)
What's good about it is that you are sure to get a snapshot of your Common.dll's source code in every branch you create.
E) Use SVN Externals
If you're using Subversion, you can use SVN Externals (mapping a local subfolder to a url of a versioned resource). GIT supports something similar too, but it's a bit complicated if you want to submit changes to the external repos.