views:

49

answers:

0

We have a lot of native C++ static libs and DLL's that make up our application. In VS2010 it is possible to use references for native C++ projects between the dependend projects to force the correct build order. We used to do this with project dependencies but they were stored at the solution level.

We do not share solutions, only the projects between the developers (in SVN). Each developer puts the projects he needs to work on in his personal solution. The new references are stored in the project files so the nice part is that this is now shared between solutions and the developers don't have to set the dependencies themself again and again. They can now just add a project to their solution and like magic the build order in their solution is correct. (We don't use the possibility to link using references, just the build order enforcement).

But now the problem:

If one of the developers decides he doesn't need a project in his solution anymore and removes it VS2010 decides that all the projects that are still left in his solution don't need that reference any more and all those project files are automatically checked out and the reference to the removed project is also removed.

If these project files are commited (we use SVN) all the developers lose this reference and this of course is not good.

Microsoft recommends to use this new reference possibility over the old dependency system but how is this workable in a scenario like ours where projects are shared between solutions?