将C ++项目从VS 2005升级到VS 2010 Express时的兼容性问题

时间:2011-07-26 15:10:11

标签: visual-studio visual-studio-2010 visual-c++ projects-and-solutions visual-studio-express

我获得了一些使用Visual Studio 2005版本构建的文件。

但是,当我尝试将.sln文件转换为在VS 2010 Express C ++中使用时,我遇到了问题。

该错误给出了路径,并表示即使文件存在,也找不到该文件。我知道两者之间不应该有任何兼容性问题,除非我遗漏了什么。有没有人遇到过这类问题?

确切的错误消息是:

  

“转换报告 - GeoM \ GeoM.vcproj:转换项目文件   'C:\用户\ GEOM \ GeoM.vcproj'。找不到文件'C:\ Users ... \ GeoM \ GeoM.vcproj'。 \   项目升级失败。

1 个答案:

答案 0 :(得分:10)

最可能的解释是您的C ++项目已配置为支持x86以外的平台(例如x64或IA-64)的编译。

这在Visual C ++博客的Visual Studio 2010 C++ Project Upgrade Guide

中有解释
  

确保在升级之前安装了所需的平台

     

在没有项目所有可用平台的计算机上转换项目将导致转换错误。例如,如果您尝试在不支持Itanium平台的Visual Studio Professional SKU上使用Itanium Platform转换项目,您将看到如下所示的转换错误:

     
Failed to upgrade 'Debug|<Itanium>'. Please make sure you have the
corresponding platform installed under '%vctargetspath%\platforms\Itanium'.
Cannot load the project due to a corrupt project file. The following error
has occurred during XML parsing:

    File: D:\Sample\ConsoleApp\ConsoleApp.vcproj
    Line: 28
    Column: 5
    Error Message:
    System error: -2147154677.
    The file 'D:\Sample\ConsoleApp\ConsoleApp.vcproj' has failed to load.
     

这是设计使用,因为转换需要评估缺少平台中的属性以进行成功转换。您可以通过查看以下目录来验证计算机上安装了哪些平台:%ProgramFiles%\MSBuild\Microsoft.cpp\V4.0\Platforms(或x64计算机上的%ProgramFiles(x86)%\MSBuild\Microsoft.cpp\V4.0\Platforms),用于计算机上安装的平台。

由于Express版本不支持为这些平台中的任何一个编译C ++应用程序,因此升级向导无法转换项目并返回描述的错误消息。

此升级成功的唯一方法是使用完整版本的Visual Studio(安装了适当的平台编译器工具),或者如果编辑解决方案/项目文件,则必须删除任何提及的非x86配置。您应该可以使用简单的文本编辑器(如记事本)执行此操作,但是一如既往地备份,以防您破坏不可替代的内容。

相关问题