Подводные камни при обновлении с Visual Studio 2005 до Visual Studio 2008 - PullRequest
8 голосов
/ 17 октября 2008

Я прочитал несколько постов, рассказывающих о преимуществах перехода с VS 2005 на 2008 год. Тем не менее, я хотел бы услышать, каковы различные подводные камни в действительности при миграции. Мы собираемся мигрировать, и я бы предпочел знать, какие удары скорости ожидать и планировать, вместо того, чтобы обнаруживать их неожиданно. Любое полезное руководство по этому вопросу будет высоко оценено, так что процесс будет максимально безболезненным.

О, мы в первую очередь занимаемся разработкой на C ++, с горсткой продуктов среднего размера и кучей небольших вспомогательных инструментов. Мы используем внешние make-файлы для всего, чтобы все сборки были легко автоматизированы. Особенно полезно было бы получить конкретную информацию о том, что ожидать при переносе этого типа операций разработки.

Заранее спасибо за помощь!

Ответы [ 8 ]

2 голосов
/ 17 октября 2008

Мы обнаружили, что это не совсем надежно; Большую часть времени это нормально, но у некоторых из нас были дни, когда каждые пять минут это, похоже, давало сбой. Честно говоря, он тоже немного глючит, например. есть некоторая странная ошибка с ресурсами, которые SP1 не исправил для нас.

Некоторые вещи, связанные с "генерацией временного кода ссылки", по-видимому, автоматически включаются во время миграции, и IMO работает слишком медленно. Время соединения от 30 секунд до 7 минут было довольно трудно проглотить. Отключил это снова ...

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

Тем не менее, в других языках может быть много замечательных функций, но, насколько я вижу, команда Visual C ++ явно не была так занята за прошедшие три года (или, может быть, осталось только две из них) ?).

2 голосов
/ 17 октября 2008

Опыт моей предыдущей компании был следующим:

  • Мы испытали большую надежность, особенно потому, что у нас были приложения, которые были многопоточными и требовали отладки.
  • VS2008 был значительно быстрее и потреблял меньше оперативной памяти (по крайней мере с решением на 50 проектов).
  • Некоторые из нашего кода C ++ больше не будут работать в системах NT. Это можно решить, используя старый исполняемый файл editbin (например, из VS2003) для изменения двоичного файла как части события post.
  • После обновления до VS2008 файл проекта также обновляется для этого. Так что если вам придется переходить между двумя IDE (например, не все разработчики перешли), тогда могут возникнуть проблемы.
2 голосов
/ 17 октября 2008

Если вы не используете какие-либо плагины Visual Studio, у вас могут возникнуть проблемы с совместимостью - когда мы впервые переключились на него, еще не было версии Resharper, которая поддерживала бы 2008, так что это была незначительная проблема в то время , Кроме того, у нас не было никаких проблем с самой IDE. Это, как говорится, мы не делаем много C ++, поэтому я не уверен, насколько может отличаться ваша ситуация.

Если подумать, единственная другая проблема, с которой мы столкнулись при переключении, заключалась в создании приложений .Net 3.5 с nant. Вы не сказали, какие инструменты сборки вы используете или какой-либо управляемый код, поэтому я не уверен, будет ли это проблемой для вас. Если это так, в сети есть несколько обходных путей для работы с приложением 3.5, которые включают в себя настройку конфигурационных файлов nant. Дайте мне знать, если вы хотите, чтобы я это опубликовал.

1 голос
/ 17 октября 2008

Проблема only , с которой я столкнулся в Visual Studio 2008, заключается в том, что она была довольно медленной, пока я ее немного не подправил. Я столкнулся с задержкой выхода из режима отладки порядка 8-10 секунд или около того - это было довольно раздражает. Помог SP1, как и изменение некоторых настроек IE.

Но в остальном я был счастлив этим.

0 голосов
/ 16 декабря 2008

Я столкнулся только с двумя проблемами.

  1. Несколько сторонних надстроек не работали, когда мы впервые перешли на 2008 год с RTM. Я не помню, какие из них, но я не сталкивался с этим ни с одним из надстроек, которые мы используем в настоящее время.

  2. Если вы используете Team Edition или Team Suite, существуют некоторые сторонние политики регистрации, которые не работают, поскольку они ссылаются на API TFS 2005 года. Мы смогли обойти это путем перекомпиляции с соответствующими ссылками на вещи, для которых у нас был код (например, вещи, извлеченные из CodePlex), или переписали политики, поскольку они довольно просты.

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

0 голосов
/ 16 декабря 2008

Одна ошибка, с которой я столкнулся, не зная об изменениях (у меня тоже есть вопрос на эту тему). Установщики могут вести себя по-разному. Старое обновление было скорее удалением и переустановкой. Новый выполняет обновление на месте. Это может привести к проблемам:

  1. нужно поместить информацию о версии в DLL - не плохо, но это может быть не тот шаг, который вы автоматизировали

  2. из коробки, служба не может автоматически обновляться, вам нужно заставить пользователя удалить старую и затем установить новую (TODO: цитата для моего поста вопроса, который будет добавлен здесь)

0 голосов
/ 02 ноября 2008

Надежность значительно улучшена. Набор повседневных функций неизменен (что и должно быть).

0 голосов
/ 17 октября 2008

Мы только что закончили обновление в прошлом месяце. Я не заметил замедления - но мы запустили SP1 с самого начала. Мы допустили ошибку при установке бета-версии SP1 (бета-версия пакета обновления?!?!), И нам пришлось загрузить и запустить специальный инструмент для его удаления перед установкой RTM SP1, но это не должно повлиять на вас. Самая большая проблема заключалась в создании всех наших сторонних библиотек в 2008 году и получении пакетного процесса, работающего над обратным преобразованием наших проектов и решений в 2005 году для одного из наших клиентов. О библиотеках - Microsoft говорит, что если в общедоступном интерфейсе есть какой-либо C ++ или ИЛИ использует STL для внутреннего использования, то его необходимо перестроить с помощью нового компилятора. Я написал небольшой обзор моего блога .

Редактировать: Вот конвертер проекта , который мы использовали. Я преобразовал его в приложение командной строки для нашего пакетного процесса, и он работает довольно хорошо.

...