Выбор между общими и версиями VSPackages
Разные версии Visual Studio могут сосуществовать на одном компьютере. VSPackages может поддерживать любой набор версий Visual Studio.
Вы можете включить параллельное установку VSPackages с помощью двух стратегий, общей стратегии или стратегии с версиями. Оба варианта поддерживают наличие нескольких версий Visual Studio и связанных версий платформа .NET Framework.
В общей стратегии один VSPackage зарегистрирован для использования в нескольких версиях Visual Studio. В стратегии с версиями устанавливаются несколько библиотек DLL VSPackage, по одному для каждой поддерживаемой версии Visual Studio.
Общие VSPackages
Использование общего ПАКЕТА VSPackage подходит при использовании одного и того же VSPackage в нескольких версиях Visual Studio. Чтобы реализовать общий VSPackage, необходимо выполнить следующие действия.
Совместимость VSPackage с несколькими версиями Visual Studio. Доступны два способа сделать это:
Ограничьте VSPackage только функциями самой ранней версии Visual Studio, которую вы поддерживаете.
Программируйте VSPackage, чтобы адаптироваться к версии Visual Studio, в которой она работает. Затем, если запросы к новым службам завершаются ошибкой, VSPackage может предлагать другие службы, поддерживаемые в более старых версиях Visual Studio.
Зарегистрируйте VSPackage соответствующим образом. Дополнительные сведения см. в разделе регистрации VSPackage и управляемой регистрации VSPackage.
Регистрируйте расширения файлов соответствующим образом. Дополнительные сведения см. в разделе Регистрации расширений имен файлов для параллельных развертываний.
Создайте установщик, который развертывает VSPackage для соответствующих версий Visual Studio. Дополнительные сведения см. в статье об установке VSPackage с помощью установщика Windows и управления компонентами.
Устранение проблемы конфликтов регистрации. Дополнительные сведения см. в разделе о регистрации VSPackage.
Убедитесь, что общие и версии файлов учитывают подсчет ссылок, чтобы разрешить безопасную установку и удаление нескольких версий. Дополнительные сведения см. в разделе "Управление компонентами".
Версия VSPackages
В соответствии с версией стратегии VSPackage вы создадите один VSPackage для каждой поддерживаемой версии Visual Studio. Это подходит, если вы ожидаете воспользоваться преимуществами служб, предоставляемых более поздними версиями Visual Studio, так как каждый VSPackage может развиваться, не влияя на другие. Тем не менее, версияная стратегия создания нескольких двоичных файлов из одной базы кода или из нескольких независимых баз кода может привести к более первоначальной разработке, чем общая стратегия. Кроме того, может потребоваться дополнительная работа по настройке, так как необходимо создать отдельную установку для каждой версии или отдельной установки, которая обнаруживает установленные версии Visual Studio и поддерживает VSPackage.
совместимость на уровне двоичного кода;
Как правило, двоичная совместимость позволяет vsPackages машинного кода, разработанные с более ранними версиями Visual Studio, выполняться в более поздних версиях Visual Studio. Однако существует три важных исключения:
Если VSPackage использует определенную версию среды CLR, то она должна определить, в какой версии Visual Studio она запущена.
VSPackage может иметь зависимость от определенной функции другого VSPackage или другого продукта. Следовательно, VSPackage может выполняться только в том месте, где удовлетворена зависимость.
VsPackage может повлиять на исправление безопасности в пакете обновления Visual Studio или более поздней версии Visual Studio. В этих случаях пакет VSPackage, разработанный с более ранней версией пакета SDK Visual Studio, может не выполняться в версиях Visual Studio после применения исправления безопасности. Однако вы можете перестроить пакет с более поздней версией и запустить его в более ранних версиях.
Управляемые VSPackages должны быть созданы с помощью версии Visual Studio и пакета SDK Visual Studio, соответствующего целевой версии Visual Studio.
Помимо планирования двоичной совместимости для двоичных файлов VSPackage, следует также рассмотреть форматы файлов решений и проектов. Если VSPackage создает новый тип проекта, необходимо решить, может ли он выполняться только в одной версии или в нескольких версиях Visual Studio. Дополнительные сведения см. в разделе "Обновление пользовательских проектов".