Практическое руководство. Создание надстроек решения
Обновлен: Ноябрь 2007
При создании надстройки с помощью Мастера надстроек она автоматически связывается с интегрированной средой разработки (IDE). Ее можно загрузить при запуске интегрированной среды разработки, и она будет выполняться до выгрузки или выхода из среды разработки. Можно также связать надстройку с решением и таким образом сделать из нее надстройку решения. Надстройка решения может использоваться, если ее необходимо загрузить только с определенным решением из-за системных зависимостей или с целью сведения к минимуму ненужного использования системных ресурсов. Когда Visual Studio загружает решение, то сначала файл решения (SLN) проверяется на наличие ссылок на надстройки. При наличии ссылок он загружает их и вызывает те же методы IDTExtensibility2, что и стандартная надстройка Visual Studio.
Мастер надстроек в настоящее время не позволяет указывать, является ли надстройка надстройкой решения. Однако при помощи некоторых незначительных изменений можно из надстройки сделать надстройку решения. В то время как обычная надстройка хранит информацию в XML-файле ADDIN (или в случае с неуправляемой COM-надстройкой — в реестре), надстройка решения хранит информацию в файле решения SLN.
Примечание. |
---|
Надстройки решения требуют стандартной регистрации на основе COM. Поскольку надстройки Visual Studio 2005 используют новую XML-регистрацию (файл ADDIN), их необходимо зарегистрировать в реестре Windows. В следующей процедуре показано, как это сделать. |
Примечание. |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Эти процедуры были разработаны с обычными параметрами разработки. Чтобы изменить настройки, в меню Сервис выберите команду Импорт и экспортпараметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Создание надстройки решения
В следующей процедуре описывается создание надстройки решения.
Чтобы создать надстройку решения
Создайте новый проект надстройки с помощью Мастера надстроек. Выберите соответствующий язык и примите все другие параметры по умолчанию.
Щелкните правой кнопкой мыши проект и выберите Свойства.
Перейдите на вкладку Построение и установите флажок Регистрация для COM-взаимодействия.
Это позволит ссылаться на надстройку в качестве COM-объекта, что необходимо для надстроек решения. Хотя Мастер надстроек создал XML-файл ADDIN для проекта, он не требуется для надстройки решения и при желании может быть удален.
Поскольку надстройка решения является COM-объектом, она должна быть зарегистрирована в Windows. Для этого запустите командную строку Visual Studio и введите regasm /codebase SolutionAddinName.dll.
Поскольку невозможно связать надстройку с файлом решения через реестр, для этого необходимо использовать код. Чтобы зарегистрировать надстройку с файлом решения, используйте метод Add коллекции AddIns решения.
AddIns возвращает коллекцию AddIns. Это аналогично AddIns, за исключением того, что здесь нет всех надстроек в Visual Studio, а имеются надстройки, зарегистрированные с заданным файлом решения. Таким образом, для регистрации надстройки в качестве надстройки решения используйте Solution.AddIns.Add.
Ниже приведен пример в Visual Basic и Visual C#. (Эти строки заменяют объявление переменной надстройки в методе OnConnection, предоставленном мастером надстроек.)
Dim addin As EnvDTE.AddIn = _ _applicationObject.Solution2.AddIns.Add("MyAddin1.Connect", "MyAddinName", "My add-in description", True)
EnvDTE.AddIn addin = _applicationObject.Solution.AddIns.Add(MyAddin.Connect, "MyAddinName", "My add-in description", true);
См. также
Задачи
Практическое руководство. Создание надстройки
Основные понятия
Надстройки Visual Studio и общие настройки