如何将VC ++ 6.0项目升级到VS2010?

时间:2015-04-22 05:20:18

标签: visual-studio mfc vs2010-express

我有用VC ++ 6.0编写的基于MFC Dialogue的应用程序。由于我的工作环境要求,我需要升级到Visual Studio 2010.我不需要添加任何新功能,只需使用升级后的visual studio进行编译即可。

有人可以指导我吗?

所有主要要求是什么以及如何启动它?

1 个答案:

答案 0 :(得分:2)

来自VC ++团队博客和Visual Studio 2010 C++ Project Upgrade Guide

使用Visual Studio 2010,C ++构建系统从基于VCBuild的系统迁移到基于MSBuild的构建系统。 C ++项目系统也构建在MSBuild构建系统之上。 在升级过程中可能会遇到一些限制,已知问题或设计更改。 VS2010支持从VC6,VS2002,VS2003,VS2005和VS2008升级 与以前版本的Visual Studio一样,可以通过IDE转换向导或命令行(Devenv.exe /upgrade)进行升级。

以下是升级应用程序的建议:

1)设置与构建环境相同的升级环境

升级过程将尝试在升级期间加载文件并评估值。如果项目使用的值不是项目文件本身定义的值(例如,环境变量定义的值),则需要在执行升级之前设置这些环境变量。如果没有正确设置这些环境变量,您可能会收到由未评估值导致的转换警告或错误。

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

在没有项目所有可用平台的计算机上转换项目将导致转换错误。例如,如果您尝试在不支持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),用于计算机上安装的平台。

3)如果可能,请首先使用原生多目标针对VS2008工具集进行构建

在VS 2010中,添加了本机多目标,允许您使用新的基于MSBuild的项目系统在VS2010 IDE中构建Visual Studio 2008工具集。我建议您在升级时首先使用VS2010来构建VS2008工具集,以利用此功能。这有助于将任何项目系统/构建系统相关问题与升级后可能遇到的工具问题隔离开来。这将使VS2010工具集的移动更加顺畅。 升级后,属性表文件(.vsprops)将转换为新格式(.props)。同样,项目文件(.vcproj)将转换为新格式(.vcxproj)。请注意,新项目文件与旧项目文件一起生成。转换期间还会生成新的文件类型(.filter.vcxproj)。过滤器文件包含用于在解决方案资源管理器中显示文件夹的信息。此过滤器信息最初是项目文件的一部分。此更改是必要的,因为MSBuild会在项目文件发生更改时请求重建。通过将过滤器信息存储在单独的文件中,可以更改过滤器而不会触发整个项目的重建。

注意:升级过程不会转换.user文件。因此,转换后将不会保留您的调试和部署设置。 在VS2010中,引入了一个新的命令行升级工具VCUpgrade.exe。此命令行工具适用于仅使用一个项目升级应用程序,因为它无法将解决方案文件作为输入并将解决方案信息解析为项目文件。 VCUpgrade.exe位于:$(VSInstallDir)\ common7 \ Tools目录。此工具也将在下一版本的WinSDK中提供,以便用户无需Visual Studio IDE即可对WinSDK中提供的项目文件进行命令行升级。