как зарегистрировать надстройку для vs2008 - PullRequest
0 голосов
/ 29 ноября 2011

Я новичок в COM.Я хочу написать плагин, который находится на панели инструментов vs2008 (не на панели инструментов).

Я создал проект ATL.Это дало мне несколько кодов по умолчанию.так что я мог бы сгенерировать DLL.Таким образом, я могу добавить этот плагин в ToolBox с помощью TOOLs-> выбрать элементы инструмента-> COM-компоненты.Но я хочу добавить это в панель инструментов.Так как я должен сделать.

Я добавляю некоторую информацию о регестере в файл rgs следующим образом:

HKCU{ NoRemove SOFTWARE   {
NoRemove Microsoft
{
  NoRemove VisualStudio
  {
    NoRemove 9.0
    {
      NoRemove AddIns
      {
        ForceRemove PiSvr.CalcPi
        {
          val CommandLineSafe  = d '0'
          val CommandPreload   = d '1'
          val Description      = s 'Sample Common Add-In'
          val FriendlyName     = s 'Sample Common Add-In'
          val LoadBehavior     = d '1'           
        }
      }
    }
  }
}  }}

Но когда я запустил vs2008, он сказал, что такой интерфейс не поддерживается.номер ошибки: 80004002

1 Ответ

1 голос
/ 01 декабря 2011

Подключение надстройки находится в реестре под HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\AddIns, и ваш сценарий выглядит правильно.Обратите внимание, что вы всегда можете использовать regedit, чтобы проверить, есть ли соответствующий элемент реестра в реестре, а не только в вашем скрипте.

0x80004002 равен E_NOINTERFACE, и, вероятно, имеет место то, что Visual Studioпытается создать и инициализировать вашу надстройку, но в ней отсутствует обязательная реализация интерфейса, и Visual Studio прерывает попытку.

Чтобы устранить эту проблему, отладьте вашу надстройку и проверьте, какие интерфейсы запрашиваются, esp.те, для которых вы возвращаете код ошибки и указываете их отсутствие.

...