一般VS的工程只能向下兼容, 比如vs2008 的IDE能直接打开vs2005的工程(.sln), vs2010 IDE能打开vs2008的工程(.sln), 但是向上兼容则不行。
如果需要进行转换,比如将vs2010转换为vs2008工程 具体的转换步骤是: 将vs2008原工程的.sln, .vcxproj文件中涉及编译器版本的关键字由vs2010的内容转换为vs2008的声明, 比如:
http://stackoverflow.com/questions/3758751/visual-studio-wont-open-solution-file
这个网站上写了一个技巧:
1, 将vs2010的.sln文件中
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
替换为2008的声明方式:
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
2, 将工程文件.vcxproj文件中的
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
替换为
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
注意: 2 中我没有发现作者所指出的.vcxproj中含有以上的声明段落, 只有 <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
(我把10.0替换成9.0不行)
所以.vcxproj没法修改成.vcproj的格式, 毕竟文件格式也不一样。 (这个我也在微软的官方论坛中得到了答案: http://www.emmet-gray.com/Articles/ProjectConverter.htm)