VS2010 Расширяемость - насколько он отличается? - PullRequest
3 голосов
/ 03 декабря 2008

Вопрос к тем из вас, кто уже смотрел VS2010. Насколько велики изменения, которые придется внести разработчикам надстроек, чтобы их надстройки работали под VS2010?

Ответы [ 2 ]

5 голосов
/ 04 декабря 2008

По счастливой случайности, я только что написал этот точный предмет и показал, что потребовалось для обновления моей надстройки. (ссылки ниже)

По сути, ваш ответ заключается в том, что существует малоэффективная миграция, потому что для большинства функциональных возможностей используется совместимый с обратным направлением «шим». Понятно, однако, что для того, чтобы в 2010 году появилось новое, такое как MAF, MEF и WPF, у разработчиков будет некоторая работа.

Наконец - Обязательно прочитайте этот выдающийся пост от Карлоса Кинтеро, MVP о совместимости надстроек, фреймворков и CLR. Блог Карлоса - лучшее, что я нашел для надстроек.

1 голос
/ 06 августа 2009

Мы уже перенесли версию разработки нашего продукта Visual Lint на VS2010, и по большей части миграция была простой - или была бы, если бы не было так много ошибок в модели автоматизации Visual Studio 2010 Beta 1 , Опыт был похож на работу, которую мы должны были выполнить для поддержки VS2005 (в отличие от VS2008 было легко), поэтому очевидно, что VS2010 представляет собой серьезное изменение в эволюции Visual Studio.

Поскольку мы используем один и тот же двоичный файл для всех версий Visual Studio, которые мы поддерживаем (что означает, что код считается родным для C ++), разрывные изменения в интерфейсах, как правило, нам хорошо видны. На этот раз области, которые вызвали у нас проблемы:

  1. Новый формат файла проекта .vcxproj (мы анализируем файлы проекта для чтения свойств проекта, поскольку это более надежно для нескольких версий Visual Studio, чем при использовании VCProjectEngine - модели автоматизации Visual C ++). Следовательно, нам пришлось написать новый синтаксический анализатор для файлов .vcxproj, и, поскольку они потенциально очень сложны, это само по себе было главной задачей.
  2. Различные ошибки в командной строке / интерфейсах команд (предположительно связанные с новым редактором WPF / интеграцией командной строки). Карлос Кинтеро много писал на эту тему, поэтому, если у вас есть проблемы в этой области, вам будет рекомендовано прочитать его блог.
  3. Недокументированное изменение в последовательности запуска надстройки в бета-версии 1, которое означало, что интерфейсы окна DTE не работали, пока не произошло событие OnStartupComplete. MS сообщила нам, что они отменяют это конкретное изменение в бета-версии 2 из-за потенциальных проблем с совместимостью, но мы в любом случае десенсибилизировали наш код к этому.
  4. Окна инструментов в бета-версии 1 не могут быть созданы внутренним CLSID (хотя ProgID работает нормально). Это последний, который мы ожидаем, прежде чем мы сможем завершить последний основной бит порта.

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

Наконец, мы не планируем переносить саму сборку на VS2010; в настоящее время он встроен в VS2008, и мы просто не видим причин для перехода на IDE, которая демонстрирует все признаки того, что все еще находится в стадии разработки, даже если это RTM позднее в этом году (это только мое личное мнение, хотя - YMMV).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...