我有用VC++ 6.0編寫的基於MFC對話的應用程序。由於我的工作環境要求,我需要升級到Visual Studio 2010.我不需要添加任何新功能,只需使用升級後的visual studio編譯即可。如何將VC++ 6.0項目升級到VS2010?
任何指導我可以嗎?
什麼是所有的主要要求,以及如何啓動它?
我有用VC++ 6.0編寫的基於MFC對話的應用程序。由於我的工作環境要求,我需要升級到Visual Studio 2010.我不需要添加任何新功能,只需使用升級後的visual studio編譯即可。如何將VC++ 6.0項目升級到VS2010?
任何指導我可以嗎?
什麼是所有的主要要求,以及如何啓動它?
從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專業版SKU,不支持安騰平臺,你會看到一個轉換錯誤,如下列:
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,原生的多目標已被添加,讓您從內建立針對Visual Studio 2008的工具集VS2010 IDE使用基於MSBuild的新項目系統。我建議您在升級時首先使用VS2010來針對VS2008工具集進行構建。這有助於將任何項目系統/構建系統相關問題與升級後可能遇到的工具問題隔離開來。這將使轉移到VS2010工具集更平滑。 升級後,屬性表文件(.vsprops)將轉換爲新的格式(.props)。同樣,項目文件(.vcproj)也會轉換爲新的格式(.vcxproj)。請注意,新項目文件與舊項目文件一起生成。轉換過程中還會生成新的文件類型(.filter.vcxproj)。篩選文件包含用於在解決方案資源管理器中顯示文件夾的信息。此過濾器信息最初是項目文件的一部分。此更改是必需的,因爲每當項目文件更改時,MSBuild都會請求重建。通過將過濾器信息存儲在單獨的文件中,可以更改過濾器,而不會觸發重建整個項目。
注意:升級過程不會轉換.user文件。因此,轉換後您的調試和部署設置將不會保留。 在VS2010中,引入了一個新的命令行升級工具VCUpgrade.exe。此命令行工具適用於僅使用一個項目升級應用程序,因爲它不能將解決方案文件作爲輸入並將解決方案信息解析爲項目文件。 VCUpgrade.exe位於:$(VSInstallDir)\ common7 \ Tools目錄。此工具也將在下一個WinSDK版本中發佈,以便用戶可以在沒有Visual Studio IDE的情況下對WinSDK中的項目文件進行命令行升級。
只需在VS-2010中打開項目/解決方案即可。轉換並編譯。
根據您的代碼,您可能會得到一些編譯器警告/錯誤,因爲新編譯器更精確。
但是,大多數轉換隻會導致視圖警告,如安全問題和其他問題,並應直接運行。
將舊的VC6項目轉換爲VS2010項目應該可以毫無用處地工作。 AFAIK沒有要求。只需打開VS2010中的.dsw文件即可。 –
你的意思是你想使用VS2010提供的所有「新功能」,或者只是在VS2010上打開你的項目? – Robson
是的,我想用新的環境來構建和運行。除了我現有的功能應該不會影響。 – user3883423