I am trying to convert one rather huge VS2005 solution with many C++ projects to VS2010. After automatic conversion I can see that some of the dependencies between the projects were lost and thus my VS2010 builds fail unless I manually re-add the dependencies.
Has anybody seen this behaviour?
Is there a fix for this?
Can I avoid having the dependencies dropped during the conversion by changing/fixing the VS2005 solutions/projects?
EDIT: And another conversion artefact is that like three header files in a single project are suddenly considered C++ source files (instead of just header files) and their compilation is attempted. The compilation subsequently fails because they do not include stdafx.h.
VS2010 project conversion is fraught. And if you haven’t applied VS2010 Service Pack 1 you will almost certainly be wasting your time.
Regarding project dependencies (you might not like this): MSBuild 4.0 (the VS2010 build agent) no longer looks in the solution file for project dependencies. Even if you managed to get your solution to build okay in the IDE, if you ever plan to build your solution from command-line build scripts, or a TFS build server, then all your project inter-dependencies must be applied in each project. Otherwise your projects will almost certainly build out of order, especially on multi-core machines where, by default, MSBuild 4.0 uses as many cores as it can find.
My team had to bite the bullet and manually recreate project dependencies in each project so the VS2010 solutions would build correctly in both Visual Studio and our TFS build servers.