I've done a bit of researching, as I am consolidating a number of projects into a flat solution for check in to a new TFS repository, and the predicament of how to structure shared assemblies across all projects inside the solution has come up.
I really wish that a solution had a physical folder concept, but since it doesn't I have essentially two choices as I understand it. I can create an empty project within the solution and place the assemblies into that project, that would preserve reference paths when the entire solution is grabbed from TFS. In this case, all projects reference a single set of assemblies. Alternatively I can simply modify each project to contain a copy of the assemblies, this allows any variations between the projects/referenced assemblies, but I am not certain whether that will be adventageous as opposed to detrimental.
Has anyone handled this same scenario? What lessons learned? Would you do it differently, and how did you ultimately address the problem?
I don't predict that we will do much if any branching/merging with TFS if that is a major consideration, but would be interested in thoughts on it nonetheless.