При создании нового расширения для визуальной студии есть два варианта проекта: "Пакет интеграции Visual Studio" и "Надстройка Visual Studio". В чем разница между двумя типами проектов и когда вы используете один над другим?
"Пакет интеграции Visual Studio" и "Visual Studio Add-in": в чем разница?
Ответ 1
Хорошо, вы можете найти полное подробное сравнение здесь (есть также ссылки на предыдущие части серии).
Но в основном, надстройки были доступны как тип расширения VS от самых первых версий VS и построены как COM-компоненты. Позже в этом подходе были обнаружены некоторые ограничения, поэтому была создана новая функция расширяемости - пакет VS SDK.
Возможно, если вы создаете расширение для VS 2008+, вам следует настроить пакет VS SDK как новую технологию. Еще одна сильная сторона пакета VS - лучшая интеграция с Visual Studio.
Что бы вы ни делали, надстройки - это внешняя вещь для Visual Studio, в то время как VSPackages полностью интегрированы часть IDE.
Вы все же можете подумать о создании надстройки, если
- вам нужен доступ к высокоуровневому API расширения, в отличие от базового API низкого уровня, доступного из пакета VS;
- вы разрабатываете в Visual Basic (шаблоны для VS-пакета доступны только на С#/Visual С++);
- вы хотите автоматизировать простую задачу/общий сценарий, тогда надстройка, вероятно, потребует меньше усилий для разработки.
Ответ 2
Важная точка надстройки Visual Studio vs Package, надстройки амортизируются в VS 2013 и не будут доступны в VS "14"
надстройки, устаревшие в Visual Studio 2013 Visual Studio "14" CTP: надстройки ушли
"Официальное" руководство от Как создать надстройку: "Надстройки Visual Studio устарели в Visual Studio 2013. Вы должен обновить ваши надстройки до VSPackage extensions...."
Ответ 3
Пакет интеграции - это то, что можно выбрать при запуске нового проекта (например, как вы выбираете С# или VB).
См. http://www.bitwisemag.com/copy/features/dev/visual_studio/vs2005_integration_1.html.
Надстройки работают так же, как и для приложений MS Office. Вы можете добавить свои собственные пользовательские кнопки и пункты меню. Вот пример: http://www.c-sharpcorner.com/UploadFile/mgold/AddIns11292005015631AM/AddIns.aspx.