Поделиться через


Практическое руководство. Создание надстроек решения

Обновлен: Ноябрь 2007

При создании надстройки с помощью Мастера надстроек она автоматически связывается с интегрированной средой разработки (IDE). Ее можно загрузить при запуске интегрированной среды разработки, и она будет выполняться до выгрузки или выхода из среды разработки. Можно также связать надстройку с решением и таким образом сделать из нее надстройку решения. Надстройка решения может использоваться, если ее необходимо загрузить только с определенным решением из-за системных зависимостей или с целью сведения к минимуму ненужного использования системных ресурсов. Когда Visual Studio загружает решение, то сначала файл решения (SLN) проверяется на наличие ссылок на надстройки. При наличии ссылок он загружает их и вызывает те же методы IDTExtensibility2, что и стандартная надстройка Visual Studio.

Мастер надстроек в настоящее время не позволяет указывать, является ли надстройка надстройкой решения. Однако при помощи некоторых незначительных изменений можно из надстройки сделать надстройку решения. В то время как обычная надстройка хранит информацию в XML-файле ADDIN (или в случае с неуправляемой COM-надстройкой — в реестре), надстройка решения хранит информацию в файле решения SLN.

ms165621.alert_note(ru-ru,VS.90).gifПримечание.

Надстройки решения требуют стандартной регистрации на основе COM. Поскольку надстройки Visual Studio 2005 используют новую XML-регистрацию (файл ADDIN), их необходимо зарегистрировать в реестре Windows. В следующей процедуре показано, как это сделать.

ms165621.alert_note(ru-ru,VS.90).gifПримечание.

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Эти процедуры были разработаны с обычными параметрами разработки. Чтобы изменить настройки, в меню Сервис выберите команду Импорт и экспортпараметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

Создание надстройки решения

В следующей процедуре описывается создание надстройки решения.

Чтобы создать надстройку решения

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

  2. Щелкните правой кнопкой мыши проект и выберите Свойства.

  3. Перейдите на вкладку Построение и установите флажок Регистрация для COM-взаимодействия.

    Это позволит ссылаться на надстройку в качестве COM-объекта, что необходимо для надстроек решения. Хотя Мастер надстроек создал XML-файл ADDIN для проекта, он не требуется для надстройки решения и при желании может быть удален.

  4. Поскольку надстройка решения является COM-объектом, она должна быть зарегистрирована в Windows. Для этого запустите командную строку Visual Studio и введите regasm /codebase SolutionAddinName.dll.

  5. Поскольку невозможно связать надстройку с файлом решения через реестр, для этого необходимо использовать код. Чтобы зарегистрировать надстройку с файлом решения, используйте метод 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 и общие настройки

Управление проектами и решениями

Знакомство с объектом VSProject2