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

3

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

有人可以指导我吗?

主要的要求是什么,如何开始?


2
将您的旧VC6项目转换为VS2010项目应该是无缝的。据我所知,没有任何要求。只需从VS2010打开.dsw文件即可。 - Jabberwocky
你的意思是想要使用VS2010提供的所有“新功能”,还是只是在VS2010上打开你的项目? - Robson
1
是的,我想要在新环境下构建和运行。此外,我的现有功能不应受到影响。 - user3883423
2个回答

3

只需在VS-2010中打开项目/解决方案。进行转换并编译。

根据您的代码,您可能会收到一些编译器警告/错误,因为新的编译器更加精确。

但是大多数转换仅会导致一些警告,例如安全问题等,并且应该可以直接使用。


2
从VC++团队博客和Visual Studio 2010 C++项目升级指南
使用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平台的项目,则会看到以下转换错误:
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 中提供的项目文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接