Visual Studio Build Configuration
define 2 directories $RootDir$\bin\Debug and $RootDir$\bin\Release, and configure your VisualStudio projects to emit assemblies in these directories. All project references should reference assemblies in the Debug directory.
Visual Studio Post Build Event to Copy DLLs into one Directory
Put this into the Post Build Event in each of your projects:
xcopy /y $(ProjectDir)$(OutDir)$(TargetFileName) $(SolutionDir)GAC\
This will take the all output files from the current project and copy it to the solution root and into the folder called GAC. Doing this to each of the projects will give you the collection of dlls in that GAC folder.
If you want to only do this on Release Build add:
if $(ConfigurationName) == Release xcopy ...