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


Пошаговое руководство. Создание управляемых вспомогательных библиотек DLL

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

Вспомогательные библиотеки DLL подходят для хранения файлов ресурсов, таких как значки, растровые изображения, строки ресурсов, в централизованном месте для использования в надстройках и других проектах автоматизации. Вспомогательные библиотеки DLL можно использовать повторно в других проектах или надстройках. Более того, отделение строк и других ресурсов от надстройки упрощает внесение централизованных изменений или локализацию ресурсов на различные языки.

В Visual Studio .NET 2002 и Visual Studio .NET 2003 для SatelliteDllPath и SatelliteDllName использовались записи реестра. Однако в Visual Studio 2005 записи реестра были заменены записями в файле регистрации ADDIN. Если для проекта требуется ресурс, следует загрузить надстройку, и Visual Studio будет выполнять поиск ресурса по вспомогательной библиотеке DLL, как и другие управляемые компоненты. Таким образом, путь к ресурсам не нужно жестко программировать. Кроме того, вместо использования метода #id для указания идентификатора ресурса необходимо использовать @<имя ресурса> (где "<имя ресурса> — имя ресурса, такое как @Icon1 или @String1). Символ @ сообщает Visual Studio, что необходимо выполнять поиск ресурса во вспомогательной библиотеке DLL.

Создание управляемых вспомогательных библиотек DLL

В следующей процедуре показано, как создать вспомогательную библиотеку DLL со значками и строковыми ресурсами и как изменить надстройку для доступа к этим ресурсам. Здесь используется надстройка с окном О программе, для которого необходимы значок и строковые ресурсы. Обычно при создании надстройки с окном О программе предоставляется значок и текст по умолчанию. В описанной процедуре показано, как заменить эти ресурсы значком и текстом на выбор.

Создание управляемой вспомогательной библиотеки DLL

  1. В меню Файл выберите Создать и щелкните Проект.

    Откроется диалоговое окно Создать проект.

  2. Разверните Другие типы проектов и выберите Проекты расширения среды.

  3. В области Шаблоны выберите элемент Надстройка Visual Studio.

  4. Следуйте указаниям мастера надстроек Visual Studio. На странице Выберите "Справка, О программе" установите флажок Да, пусть надстройка содержит диалоговое окно "О программе". Примите остальные параметры по умолчанию.

  5. В Обозревателе решений выберите проект надстройки, затем в меню Проект щелкните Показать все файлы.

  6. В меню Проект выберите команду Добавить ссылку.

  7. На вкладке .NET выберите System.Drawing и нажмите ОК.

  8. Щелкните правой кнопкой мыши проект надстройки в Обозревателе решений.

  9. В меню Добавить щелкните Новый элемент.

  10. В списке шаблонов выберите Файл ресурсов и нажмите кнопку Добавить. Примите имя по умолчанию (Resources1.resx).

    Запустится Редактор ресурсовVisual Studio.

    По умолчанию будет создан файл ресурсов с именем Resource1.resx.

  11. В Resource1.resx в раскрывающемся списке Строки вверху выберите Значки (крайняя левая кнопка сверху).

  12. В раскрывающемся списке Добавить ресурс выберите команду Добавить новый значок. Пока примите имя по умолчанию (Icon1.bmp) и щелкните Добавить.

    Можно также выбрать существующее растровое изображение для значка размером 16 x 16 точек и с глубиной цвета 16 цветов или True Color. Пользовательские значки для надстроек должны иметь размер 16 x 16 точек и глубину цвета 16 цветов или True Color.

  13. После открытия значка в Редакторе значков измените его при помощи инструментов. После этого закройте Редактор значков и сохраните изменения.

  14. В раскрывающемся списке Добавить ресурс выберите команду Добавить новую строку.

  15. Щелкните в первом поле столбца Имя.

    Будет создан новый строковый ресурс по умолчанию с именем String1.

  16. В поле Значение введите Первая строка.

    Это будет значение для первой строки ресурсов.

  17. Создайте еще два строковых ресурса, присвоив им имена "Вторая строка" и "Третья строка".

  18. Закройте Редактор ресурсов и сохраните изменения.

  19. В Обозревателе решений щелкните правой кнопкой мыши Resource1.resx и выберите Свойства.

  20. В окне Свойства измените значение свойства Действие при построении со значения Внедренный ресурс на Нет.

    Это предотвратит построение ресурса в сборку надстройки.

  21. Выполните построение проекта.

  22. Создайте вспомогательную DLL-библиотеку ресурсов. Это можно сделать в рамках двухэтапного процесса при помощи ResGen, а затем AL (компоновщик сборок) для построения вспомогательной библиотеки DLL.

    1. В меню Пуск в Windows укажите Все программы — Microsoft Visual Studio 2005 — Visual Studio Tools и щелкните Командная строка Microsoft Visual Studio 2005.

      Это позволит задать определенные переменные среды так, чтобы можно было с легкостью создавать ссылки на инструменты Visual Studio.

    2. В командной строке перейдите к папке с файлом RESX и наберите Resgen Resource1.resx.

      Resgen — это служебная программа, компилирующая указанный файл RESX в файл RESOURCES. Дополнительные сведения см. в разделе Генератор файлов ресурсов (Resgen.exe).

    3. Теперь в командной строке наберите следующее: Al.exe /embed:Resource1.resources /culture:en-US /out:<Add-In Name>.resources.dll.

      Замените <Имя_надстройки> именем своей надстройки. Например, если проект надстройки имеет имя MyAddin, то оператор /out: следует добавить так, чтобы получилось /out:MyAddin.resources.dll. Имя оператора /out: должно совпадать с именем проекта, иначе библиотека ресурсов DLL найдена не будет.

      Компоновщик сборок (Al.exe) преобразует указанный файл RESOURCES в библиотеку DLL, на которую можно будет создать ссылку в надстройке. (В переключателе /culture можно указать не только английский язык). Дополнительные сведения см. в разделе Компоновщик сборок (Al.exe).

  23. В Проводнике Windows перейдите к каталогу DLL надстройки и создайте папку с именем en-US (английского языка (США), так как в качестве языка в средстве Al было указано en-US).

  24. Скопируйте файл <Имя_надстройки>.resources.dll в новую папку en-US.

  25. При помощи проводника Windows перейдите в каталог Addins. Обычно он находится по пути <диск>:\Documents and Settings\<имя_пользователя>\My Documents\Visual Studio 2005\Addins.

  26. Измените файл определения надстроек Visual Studio, выполнив следующие действия:

    1. Правой кнопкой мыши щелкните файл определения надстройки для надстройки и в контекстном меню выберите команду Открыть с помощью. Из списка программ выберите Блокнот.

    2. Внесите следующие изменения между тегами <Addin></Addin>:

      <Addin>
          <FriendlyName>@String1</FriendlyName>
          <Description>@String2</Description>
          <AboutBoxDetails>@String3</AboutBoxDetails>
          <AboutIconData>@Icon1</AboutIconData>
          <Assembly><installation root>\my documents\visual studio 2005\Projects\MyAddin1\MyAddin1\bin\MyAddin1.dll</Assembly>
          <FullClassName>MyAddin1.Connect</FullClassName>
          <LoadBehavior>0</LoadBehavior>
          <CommandPreload>0</CommandPreload>
          <CommandLineSafe>0</CommandLineSafe>
      </Addin>
      

      Замените <корень установки> внутри тегов <Assembly></Assembly> путем к файлу на компьютере.

      Запись Friendlyname переименует надстройку на Line1 — имя, которое было введено для String1 в файле Resource1.resx. Описание в окне “О программе” теперь будет содержать "Line2", а запись AboutIconData соответствует значку в окне “О программе” и значку, созданному в шаге 7.

  27. Выполните повторное построение проекта и выберите надстройку в Диспетчере надстроек.

  28. В меню Справка щелкните команду О Microsoft Visual Studio и выберите Line1 (имя надстройки) в списке.

    Можно будет увидеть новый пользовательский значок и три созданные строки в окне О программе.

См. также

Задачи

Практическое руководство. Доступ к ресурсам во вспомогательных библиотеках DLL.

Основные понятия

Регистрация надстройки