Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compatibility issues when upgrading a C++ project from VS 2005 to VS 2010 Express

I was given some files that were built in Visual Studio 2005 version.

When I tried to convert the .sln file to use in VS 2010 Express C++, however, I run into problems.

The error gives out the path and says that the file was not found even though the file is there. I know there shouldn't be any compatibility issues between the two unless I am missing something. Has anyone run into this type of problems?

The exact error message is:

"Conversion Report - GeoM\GeoM.vcproj: Converting project file 'C:\Users...\GeoM\GeoM.vcproj'. File 'C:\Users...\GeoM\GeoM.vcproj' was not found. \ Project upgrade failed.

like image 734
GKED Avatar asked Jul 26 '11 15:07

GKED


People also ask

How do I upgrade my Visual Studio project?

To upgrade a project created in an earlier version of Visual Studio, just open the project in the latest version of Visual Studio. Visual Studio offers to upgrade the project to the current schema. If you choose No, the project doesn't get upgraded.

Is Visual Studio 2019 backwards compatible with 2015?

You can install and use Visual Studio 2019 alongside previous versions of Visual Studio, including Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, and Visual Studio 2012.


1 Answers

The most likely explanation is that your C++ project has been configured to support compilation for a platform other than x86 (such as x64 or IA-64).

This is explained on the Visual C++ blog, in the Visual Studio 2010 C++ Project Upgrade Guide:

Make sure you have the required platforms installed before doing upgrade

Converting a project on a machine without all the available platforms for the project will result in a conversion error. For example, if you try to convert a project with Itanium Platform on Visual Studio Professional SKU, which does not support the Itanium platform, you will see a conversion error like the following:

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.

This is by design as the conversion needs to evaluate the properties in the missing platforms to do a successful conversion. You can verify which platforms are installed on your machine by looking in the following directories: %ProgramFiles%\MSBuild\Microsoft.cpp\V4.0\Platforms (or %ProgramFiles(x86)%\MSBuild\Microsoft.cpp\V4.0\Platforms on x64 machine) for the Platforms installed on the machine.

Since the Express version does not support compiling C++ applications for either of these platforms, the upgrade wizard is failing to convert your project and returning the described error message.

The only way this upgrade is going to succeed is if you use a full version of Visual Studio (with the appropriate platform compiler tools installed), or if you edit the solution/project files that you have to remove any mention of a non-x86 configuration. You should be able to do this with a simple text editor like Notepad, but as always, back up first in case you destroy something irreplaceable.

like image 181
Cody Gray Avatar answered Sep 30 '22 07:09

Cody Gray