Проблемы совместимости при обновлении проекта C ++ с VS 2005 до VS 2010 Express - PullRequest
5 голосов
/ 26 июля 2011

Мне дали несколько файлов, которые были построены в версии Visual Studio 2005.

Когда я пытался преобразовать файл .sln для использования в VS 2010 Express C ++, я столкнулся с проблемами.

Ошибка выдает путь и говорит, что файл не был найден, хотя файл там есть.Я знаю, что не должно быть никаких проблем с совместимостью, если я что-то упустил.Кто-нибудь сталкивался с проблемами такого типа?

Точное сообщение об ошибке:

"Отчет о преобразовании - GeoM \ GeoM.vcproj: Преобразование файла проекта 'C: \ Users ... \ GeoM \ GeoM.vcproj '. Файл' C: \ Users ... \ GeoM \ GeoM.vcproj 'не найден. \ Не удалось обновить проект.

1 Ответ

10 голосов
/ 26 июля 2011

Наиболее вероятное объяснение состоит в том, что ваш проект C ++ настроен для поддержки компиляции для платформы, отличной от x86 (например, x64 или IA-64).

Это объясняется в блоге по Visual C ++, в Руководстве по обновлению проекта Visual Studio 2010 C ++ :

Убедитесь, что у вас установлены необходимые платформы перед обновлением

Преобразование проекта на компьютере без всех доступных для проекта платформ приведет к ошибке преобразования. Например, если вы попытаетесь преобразовать проект с платформой Itanium в SKU Visual Studio Professional, которая не поддерживает платформу 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 (или %ProgramFiles(x86)%\MSBuild\Microsoft.cpp\V4.0\Platforms на компьютере x64) для Платформ, установленных на компьютере.

Поскольку версия Express не поддерживает компиляцию приложений C ++ для любой из этих платформ, мастеру обновления не удается преобразовать ваш проект и вернуть описанное сообщение об ошибке.

Единственный способ, которым это обновление будет успешным, - это если вы используете полную версию Visual Studio (с установленными инструментами компилятора платформы) или если вы редактируете файлы решения / проекта, которые вы должны удалить, упоминая о конфигурация не x86. Вы должны быть в состоянии сделать это с помощью простого текстового редактора, такого как Блокнот, но, как всегда, сначала сделайте резервную копию на случай, если вы уничтожите что-то незаменимое.

...