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


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

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

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

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

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

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

В параметрах командной строки средства 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

См. также

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

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

Ссылки

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

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

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

Командная строка пакета SDK