Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Баг миграции с Visual Studio 2008 на 2010  (Прочитано 4115 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« : 13-01-2012 15:45 » 

Только что наткнулся на баг в 2010й студии, доставивший мне изрядно неприятных впечатлений.

Надо было мне собрать под 2010й студией один проект, написанный в 2008й, чтобы всё было как у клиента.

Поставил студию на хост, и тут же напоролся на то, что проекты на C++ не преобразуются в новый формат. Выдаёт ошибку
Цитата
Отчет о преобразовании - :
The following error has occurred during XML parsing: File: <Path>\<Project>.vcproj Line: 34 Column: 5 Error Message: System error: -2146233088. The file '<Path>\<Project>.vcproj' has failed to load.

Что за фигня, думаю. Погуглил, не нашёл ничего хоть отдалённо напоминающего мой случай.
Ладно, думаю, дай проверю на другой платформе: вдруг студия криво встала. Поставил на виртуалке - работает.

Сконвертировал там проекты из 2008 в 2010ю, открыл их обратно на хосте - снова ни в какую. Теперь кажет ошибку:
Цитата
<Path>\<Project>vcxproj : error  : не удается вычислить выражение """.3_SDK". Не найден метод "System.String.3_SDK".  C:\Users\<User>\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props

Ну ладно, теперь хоть говорит, где искать. Иду смотреть этот файлик, и обнаруживаю там, что студия в благородном порыве попыталась вытащить из 2008й версии пути "VC++ Directories". В итоге, в этом Microsoft.Cpp.Win32.user.props получилось что-то такое (точное содержимое не сохранил):
Код: (XML)
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ExecutablePath>$(ExecutablePath)</ExecutablePath>
    <IncludePath>$(CUDA_2.3_SDK)\common\inc;$(IncludePath)</IncludePath>
  </PropertyGroup>
</Project>
То есть, у меня в 2008й студии был прописан путь к CUDA SDK (пришлось ради сборки одного проекта так сделать). Visual Studio 2010 скопипастила без валидации этот путь, а потом, видимо, пыталась что-то на его основе безуспешно вычислять. А все окружающие спецэффекты были лишь следствием этого.

Словом, будьте бдительны при миграции: иногда от старательности среды всё может поломаться.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines