Hi Chao,
Many thanks for your reply. Much appreciated.
Perhaps my post wasn't clear about my intention.
I have a VS2005 project that I want to keep as a VS2005 project. I want to be able to a) use it in VS2005 and b) use it in MSBuild 2.0 scripts. But I also have a VS2008 project (solution) that is using that project (currently referencing the dll built by the VS2005 project). I want that VS2008 solution to be able to reference the VS2005 project. And I want my build scripts, written for MSBuild 3.5, to be able to include the building of the VS2005 project (I know MSBuild can be told to use 2.0 tools, but there may be a need to have MSBuild 2.0 use the converted file).
I hope that is clear.
Now, if I try to load the VS2005 project into VS2008 then the project conversion wizard starts (understandably). If I let the wizard convert the project (I'm only interested in the proj file conversion) then I end up with a slightly modified file. That modified file can, interestingly, still be used in VS2005 and MSBuild 2.0. Also, if I make a change to the project's properties when the project is loaded in VS2005 then the changes made during the conversion process remain. All of this is what I want. I can now use that project in both VS2008 and VS2005 and both MSBuild 2.0 and MSBuild 3.5.
I am only willing to use this way forward, though, if I can be reasonably confident that I can trust this behaviour. I have many such VS2005 projects that need to remain available as VS2005 projects during a potentially long upgrade process to VS2008, whilst those projects are being used in both VS2005 and VS200.
My question is, can I be confident that I can get VS2008 to convert the VS2005 project files and then still be able to use those project files in VS2005 (and MSBuild 2.0)?
Interestingly, I tried the project converter you referenced. It came up with different results to the conversion produced in VS2008. Firstly, it changed the Product Version (understandably) to 9.whatever, whereas VS2008's wizard did not change that value. Secondly, it changed the environment variable that is used to reference Microsoft.CSharp.targets, whereas VS2008's wizard didn't. After that second change the project no longer loaded in VS2005 - it errored.
If my question is now clear and can be answered then fantastic. Thanks for your time John |