Regasm.exe (средство регистрации сборок)

Средство регистрации сборки считывает метаданные сборки и добавляет в реестр необходимые записи, что позволяет COM-клиентам прозрачно создавать классы .NET Framework. После регистрации класса любой COM-клиент может использовать таким образом, словно это класс COM. Класс регистрируется только один раз, при установке сборки. Экземпляры классов внутри сборки не могут создаваться на основе COM-классов до их фактической регистрации.

Это средство устанавливается автоматически с Visual Studio и пакетом SDK Windows. Чтобы запустить инструмент, мы рекомендуем использовать командную строку Visual Studio или командную строку пакета Windows SDK (командную оболочку). Эти служебные программы позволяют легко работать с инструментом, не переходя к папке установки. Дополнительные сведения см. в разделе Командная строка Visual Studio и пакета Windows SDK.

  • Если на компьютере установлена среда Visual Studio: на панели задач последовательно щелкните Start, All Programs, Visual Studio, Visual Studio Tools и Visual Studio Command Prompt.

    – или –

    Если на компьютере установлен пакет Windows SDK: на панели задач щелкните Start, выберите All Programs и откройте папку с пакетом Windows SDK, затем щелкните Command Prompt (или CMD Shell).

  • В командной строке введите следующее:

regasm assemblyFile [options]

Параметры

Параметр

Описание

файл_сборки

Сборка, которая должна быть зарегистрирована в COM.

Параметр

Описание

/codebase

Создает в реестре запись Codebase. Запись Codebase указывает путь к файлу сборки, которая не установлена в глобальном кэше сборок. Не следует указывать этот параметр, если впоследствии будет установлена сборка, регистрируемая в глобальном кэше сборок. Аргумент файл_сборки, который задается с использованием параметра /codebase, должен представлять собой строго именованную сборку.

/registered

Указывает, что это средство будет ссылаться только на библиотеки типов, которые уже были зарегистрированы.

/asmpath:directory

Задает каталог, содержащий ссылки на сборки. Должен использоваться с использованием параметра /regfile.

/nologo

Отключает отображение эмблемы Майкрософт при запуске.

/regfile [:регистрационный_файл]

Создает REG-файл для сборки, содержащий необходимые записи реестра. Указание этого параметра в командной строке не приводит к внесению изменений в реестр. Этот параметр нельзя использовать с параметрами /u или /tlb.

/silent или /s

Отключает отображение сообщений об успешно выполненных операциях.

/tlb [:файл_библиотеки_типа]

Создает библиотеку типов для указанной сборки, содержащую описания доступных типов, описанных в сборке.

/unregister или /u

Отменяет регистрацию создаваемых классов, содержащихся в файле_сборки. При отсутствии этого параметра средство Regasm.exe регистрирует создаваемые классы сборки.

/verbose

Включает вывод сообщений. При использовании вместе с параметром /tlb на экран выводится список сборок, на которые ссылается указанная сборка и для которых требуется создать библиотеку типов.

/? или /help

Отображает синтаксис команд и параметры программы.

ПримечаниеПримечание

В параметрах командной строки средства Regasm.exe прописные и строчные буквы не различаются.Достаточно указать начало параметра, позволяющее однозначно определить его.Например, /n равноценно /nologo, а /t:outfile.tlb/tlb:outfile.tlb.

Заметки

Можно не вносить изменения непосредственно в реестр, а выбрать параметр /regfile для создания REG-файла, который содержит записи реестра. Изменения в реестр компьютера можно внести, импортировав REG-файл в реестр с помощью редактора реестра (Regedit.exe). Следует заметить, что REG-файл не содержит никаких обновлений реестра, которые могут быть выполнены с помощью функций реестра, определенных пользователем. Обратите внимание, что параметр /regfile порождает только записи реестра для управляемых классов. Этот параметр не создает записи для объектов TypeLibID или InterfaceID.

Если задан параметр /tlb, программа Regasm.exe создает и регистрирует библиотеку типов, описывающую типы, которые содержатся в сборке. Regasm.exe помещает созданные библиотеки типов в текущий рабочий каталог или в каталог, указанный для выходных файлов. Создание библиотеки типов для сборки, ссылающейся на другие сборки, может потребовать одновременного создания нескольких библиотек типов. Библиотеку типов можно использовать для предоставления сведений о типах средствам разработки программ, таким как Visual Studio 2005. Не следует использовать параметр /tlb, если сборка, которую следует зарегистрировать, была создана средством импорта библиотек типов (Tlbimp.exe). Нельзя экспортировать библиотеку типов из сборки, которая была импортирована из библиотеки типов. Использование параметра /tlb оказывает то же самое действие, что и использование инструмента для экспорта библиотек типов (Tlbexp.exe) и Regasm.exe, за тем исключением, что Tlbexp.exe не регистрирует создаваемые библиотеки типов. Если создание библиотеки типов с использованием параметра /tlb, для отмены регистрации библиотеки типа используется параметр /tlb с параметром /unregister. При одновременном выборе этих двух параметров будет отменена регистрация библиотеки типов и записей интерфейса, что может существенно освободить реестр.

При регистрации сборки для использования в COM Regasm.exe добавляет записи в реестр локального компьютера. Точнее, при этом создаются зависящие от версии разделы реестра, которые позволяют нескольким версиям одной и той же сборки одновременно работать на одном компьютере Когда сборка регистрируется в первый раз, создается один раздел верхнего уровня для сборки и уникальный подраздел для данной версии. Каждый раз при регистрации новой версии сборки Regasm.exe создает подраздел для этой новой версии.

Например, предположим, что регистрируется управляемый компонент myComp.dll версии 1.0.0.0 для использования его средствами COM. Позже регистрируется myComp.dll версии 2.0.0.0. Определено, что все клиентские приложения COM на компьютере используют myComp.dll версии 2.0.0.0, и решено отменить регистрацию myComponent.dll версии 1.0.0.0. Эта схема реестра позволяет отменить регистрацию myComp.dll версии 1.0.0.0, поскольку удален только подраздел версии 1.0.0.0.

После регистрации сборки с использованием средства Regasm.exe ее можно установить ее в глобальном кэше сборок, чтобы любой COM-клиент мог активировать ее. Если использовать сборку будет только одно приложение, ее можно поместить в каталог этого приложения.

Примеры

Приведенная команда регистрирует все открытые классы, содержащиеся в библиотеке myTest.dll.

regasm myTest.dll

Приведенная ниже команда создает файл myTest.reg, который содержит все необходимые записи реестра. Эта команда не обновляет реестр.

regasm myTest.dll /regfile:myTest.reg

Приведенная ниже команда регистрирует все открытые классы, содержащиеся в myTest.dll, а также создает и регистрирует библиотеку типов myTest.tlb, в которой содержатся описания всех открытых типов, находящихся в myTest.dll.

regasm myTest.dll /tlb:myTest.tlb

См. также

Ссылки

Tlbexp.exe (программа экспорта библиотек типов)

Tlbimp.exe (программа экспорта библиотек типов)

Командная строка Visual Studio и пакета Windows SDK

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

Регистрация сборок в COM

Другие ресурсы

Инструменты .NET Framework

Журнал изменений

Дата

Журнал

Причина

Апрель 2011

Добавлены сведения об использовании командных строк Visual Studio и Windows SDK.

Улучшение информации.