转自:
使用高版本的 Visual Studio 打开低版本创建的项目(工程、解决方案)文件时,会自动转化到高版本。但这个过程是不可逆的,即高版本创建的项目(解决方案)文件不能在低版本中打开。
因为新的版本会加入很多新的特性,所以项目文件不能向下兼容。如果不得不在低版本中打开高版本创建的项目文件时,可以尝试采用手动修改解决方案文件和项目文件。
对于不同版本的 Visual Studio 生成的项目(解决方案)文件所标记的版本号是不同的,如果强制修改,则可以跳过 Visual Studio 的检查,一般就可以打开了。只是如果使用了新版本的某些特性,则可能出现一些问题。用文本编辑器打开项目(解决方案)文件,你会发现含有如下的版本标记。
Product Name
Product Version
File Format
Visual Studio .Net
v7.0
7
Visual Studio .Net 2003
v7.1
8
Visual Studio 2005
v8.0
9
Visual Studio 2008
v9.0
10
下面示例中标记出来的部分就是需要修改的地方。
解决方案文件(.sln)
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ProjectConverter",
"ProjectConverter.vbproj", "{B637ACFD-0AFC-4FBB-A8C0-602B5ABA62F0}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup/Setup.vdproj",
"{09667F41-0E35-4D40-A0A9-E71BA6740D93}"
EndProject
Global
....
EndGlobal
项目文件(.vbproj, .csproj, .vcproj)
Debug
AnyCPU
9.0.21022
2.0
{B637ACFD-0AFC-4FBB-A8C0-602B5ABA62F0}
WinExe
ProjectConverter.My.MyApplication
ProjectConverter
ProjectConverter
512
WindowsForms
v2.0
On
Binary
...
一般来说,将这些版本号修改了就可以打开了。准备写本文的时候,搜索到一篇: Visual Studio 2005/2008 Interoperability ,还提到了更多可以修改的地方,本文的示例就是我偷懒复制来的,而且还给出了一个小工具,有需要的可以下载试试。