I'm running into a lot of problems sharing projects between solutions with VS 2010 and TFS 2010.
First issue is that everyone sets up their machine different, and create workspaces differently. Some use a single workspace for all projects. Some use a different workspace for each project. When you put two different projects into a solution from different parts of the tree, they don't necessarily map to the TFS tree structure (and generally don't).
So one person might have:
C:\Users\User\Documents\Projects\Project1
C:\Users\User\Documents\Projects\Project2
Another might have
C:\Users\User\Documents\Projects\Project1
C:\Users\User\Documents\SharedProjects\Project2
Another even does
C:\SharedProjects\Project2
C:\Projects\Project1
The problem is that the solution holds physical project locations, and everytime users get latest, they fight and create conflicts about project location.
I know, the easy solution is to mandate a single structure, but that's not going to work here.
Second problem:
We have some shared libraries that are the projects are included in different solutions across our tree. Some of these projects have different build configurations. One might have Dev, Test, Stage, Prod and another has Debug, Release, Prod.
This causes problems because the build configurations are stored in the project files. If a project tries to use a shared project, and the shared project does not contain a build configuration to match the solution, then VS locks up and causes all kinds of weird behavior.
Does anyone have any solutions to these problems? Is there any way to create local overrides for locations that do not affect all users? (Similar to the way you can set web server configurations on a per user basis)
Seems like these problems should have been figured out by now.