Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Программа импорта библиотек типов преобразует определения типов, содержащиеся в библиотеке типов COM, в эквивалентные определения сборки среды CLR. Tlbimp.exe выводит двоичный файл (сборку), содержащий метаданные среды выполнения для типов, определенных в исходной библиотеке типов. Этот файл можно просмотреть с помощью таких средств, как Ildasm.exe.
Эта программа автоматически устанавливается вместе с Visual Studio. Для запуска этого средства используйте Командную строку разработчика или PowerShell для разработчиков в Visual Studio.
Введите в командной строке: .
Синтаксис
tlbimp tlbFile [options]
Параметры
| Аргумент | Description |
|---|---|
| tlbFile | Имя любого файла, содержащего библиотеку типов COM. |
| Вариант | Description |
|---|---|
| /asmversion:versionnumber | Задает номер версии создаваемой сборки. Аргумент номер_версии задается в формате главная.вспомогательная.сборка.редакция. |
/компания:companyinformation |
Добавляет сведения об организации в выходную сборку. |
/авторское право:copyrightinformation |
Добавляет сведения об авторских правах в выходную сборку. Эти сведения можно просмотреть в диалоговом окне Свойства файла сборки. |
| /delaysign | Указывает Tlbimp.exe подписать результирующую сборку строгим именем с использованием отложенной подписи. Этот параметр необходимо задавать вместе с параметром /keycontainer:, /keyfile: или /publickey:. Дополнительные сведения о процессе отложенной подписи см. в разделе Отложенная подпись сборки. |
| /help | Отображает синтаксис команд и параметров программы. |
| /keycontainer:containername | Подписывает результирующую сборку строгим именем, используя пару ключей (открытый/закрытый) из контейнера ключей, заданного аргументом имя_контейнера. |
| /keyfile:filename | Подписывает результирующую сборку строгим именем, используя официальную пару ключей издателя (открытый/закрытый) из файла имя_файла. |
/машина:machinetype |
Создает сборку, ориентированную на указанный тип компьютера (микропроцессор). Поддерживаемые типы компьютеров: x86, x64, Itanium и кроссплатформенный. |
| /namespace:namespace | Задает пространство имен, в котором создается сборка. |
| /noclassmembers | Блокирует добавление программой Tlbimp.exe членов в классы. Это позволяет избежать исключения TypeLoadException. |
| /nologo | Отключает отображение эмблемы Майкрософт при запуске. |
| /out:filename | Задает имя выходного файла, сборки и пространства имен, в который записываются определения метаданных. Параметр /out не влияет на пространство имен сборки, если библиотека типов задает пользовательский атрибут IDL, который явно определяет пространство имен сборки. Если этот параметр не задан, Tlbimp.exe записывает метаданные в файл с именем фактической библиотеки типов, определенной во входном файле, и присваивает ему расширение DLL. Если имя выходного файла совпадает с именем входного файла, программа выдаст ошибку для предотвращения перезаписи библиотеки типов. |
| /primary | Создает основную сборку взаимодействия для указанной библиотеки типов. В сборку добавляются сведения о том, что ее создал издатель библиотеки типов. Если задать основную сборку взаимодействия, то сборку издателя можно будет отличить от других сборок, созданных на основе библиотеки типов с помощью Tlbimp.exe. Параметр /primary должен указываться только издателем библиотеки типов, импортируемой с помощью средства Tlbimp.exe. Обратите внимание, что основную сборку взаимодействия необходимо подписывать строгим именем. Дополнительные сведения см. в разделе Основные сборки взаимодействия. |
/продукт:productinformation |
Добавляет сведения о продукте в выходную сборку. Эти сведения можно просмотреть в диалоговом окне Свойства файла сборки. |
/productversion:productversioninformation |
Добавляет сведения о версии продукта в выходную сборку. Можно использовать любой формат. Эти сведения можно просмотреть в диалоговом окне Свойства файла сборки. |
| /publickey:filename | Задает файл, содержащий открытый ключ для подписи результирующей сборки. Если вместо параметра /publickey: задан параметр /keyfile: или /keycontainer:, программа Tlbimp.exe создает открытый ключ из пары "открытый/закрытый", заданной в параметре /keyfile: или /keycontainer:. Параметр /publickey: поддерживает сценарии тестовых ключей и отложенной подписи. Файл имеет формат файлов, создаваемых средством Sn.exe. Дополнительные сведения см. в сведениях о параметре -p программы Sn.exe в разделе Программа Strong Name (Sn.exe). |
| /reference:filename | Задает файл сборки, который используется для разрешения ссылок на типы, определенные вне текущей библиотеки типов. Если параметр /reference не задан, программа Tlbimp.exe автоматически выполняет рекурсивный импорт всех внешних библиотек типов, на которые ссылается импортируемая библиотека типов. Если параметр /reference задан, перед импортом других библиотек типов программа пытается разрешить внешние типы в сборках, на которые имеются ссылки. |
/тишина:warningnumber |
Отключает отображение конкретного предупреждения. Этот параметр невозможно использовать с параметром /silent. |
| /silent | Запрещает отображение сообщений об успешно выполненных операциях. Этот параметр невозможно использовать с параметром /silence. |
| /strictref | Не импортирует библиотеку типов, если программа не может разрешить все ссылки в текущей сборке, в сборках, заданных параметром /reference, или в зарегистрированных основных сборках взаимодействия. |
| /strictref:nopia | Эквивалентен /strictref, однако игнорирует первичные сборки взаимодействия. |
| /sysarray | Задает средство для импорта типа SafeArray стиля COM как управляемого типа Array. |
| /tlbreference:filename | Задает файл библиотеки типов для разрешения ссылок на библиотеку типов без обращения к реестру. Обратите внимание, что при выборе этого параметра не будут загружаться некоторые более старые форматы библиотек типов. Однако их можно загрузить неявным образом с помощью реестра или текущего каталога. |
/товарный знак:trademarkinformation |
Добавляет сведения о товарном знаке в выходную сборку. Эти сведения можно просмотреть в диалоговом окне Свойства файла сборки. |
| /transform:transformname | Преобразует метаданные в соответствии с параметром имя_преобразования. Укажите dispret параметр преобразования для преобразования параметров [out, retval] методов в интерфейсах только для отправки (dispinterfaces) в возвращаемые значения.Дополнительные сведения об этом параметре см. далее в примерах этого раздела. |
| /unsafe | Создает интерфейсы, не выполняя проверки безопасности .NET Framework. Вызов метода в данной форме может создавать угрозу безопасности. Этот параметр следует использовать только в том случае, если вам известно о рисках, связанных с вызовом этого кода. |
| /verbose | Задает режим подробного протоколирования; отображает дополнительные сведения об импортируемой библиотеке типов. |
| /VariantBoolFieldToBool | Преобразует поля VARIANT_BOOL в структурах в Boolean. |
| /? | Отображает синтаксис команд и параметров программы. |
Примечание.
В параметрах командной строки для Tlbimp.exe не учитывается регистр и они могут задаваться в любом порядке. Можно вводить только часть имени параметра, достаточную для его однозначной идентификации. То есть запись /n эквивалентна записи /nologo, а /ou:outfile.dll — записи /out:outfile.dll.
Замечания
Tlbimp.exe преобразует только библиотеки типов целиком. С помощью этой программы невозможно создать сведения о подмножестве типов, определенных в одной библиотеке типов.
Часто бывает удобно или необходимо присваивать сборкам строгие имена. Поэтому Tlbimp.exe имеет параметры, позволяющие предоставлять сведения, необходимые для создания сборок со строгими именами. Как параметр /keyfile:, так и параметр /keycontainer: подписывают сборки строгими именами. Поэтому логично использовать только один из этих параметров.
Можно указать несколько ссылочных сборок, используя параметр /reference несколько раз.
Из-за способа создания сборок программой Tlbimp.exe невозможно изменить целевую платформу сборки на другую версию mscorlib. Например, если вы хотите создать сборку для .NET Framework 2.0, необходимо использовать Tlbimp.exe, поставляемый с пакетом SDK для .NET Framework 2.0/3.0/3.5. Для работы с .NET Framework 4.x следует использовать Tlbimp.exe в составе пакета SDK для .NET Framework 4.x.
При импорте библиотеки типов из модуля, содержащего несколько библиотек типов, к файлу библиотеки типов можно добавить идентификатор ресурса. Tlbimp.exe находит этот файл, только если он расположен в текущем каталоге или к нему задан полный путь. См. пример далее в этом разделе.
Примеры
Следующая команда создает сборку с таким же именем, как у библиотеки типов в myTest.tlb, и расширением DLL.
tlbimp myTest.tlb
Следующая команда создает сборку с именем myTest.dll.
tlbimp myTest.tlb /out:myTest.dll
Следующая команда создает сборку с таким же именем, как у заданной MyModule.dll\1 библиотеки типов, и расширением DLL. Сборка MyModule.dll\1 должна находиться в текущем каталоге.
tlbimp MyModule.dll\1
Следующая команда создает сборку с именем myTestLib.dll для библиотеки типов TestLib.dll. Параметр /transform:dispret преобразует все параметры [out, retval] методов в интерфейсах диспетчеризации из библиотеки типов в возвращаемые значения в управляемой библиотеке.
tlbimp TestLib.dll /transform:dispret /out:myTestLib.dll
Библиотека типов TestLib.dll из предыдущего примера включает метод интерфейса диспетчеризации с именем SomeMethod, который возвращает тип void и имеет параметр [out, retval]. Следующая строка кода является подписью метода входной библиотеки типов для методаSomeMethod в библиотеке TestLib.dll.
void SomeMethod([out, retval] VARIANT_BOOL*);
Если задан параметр /transform:dispret, программа Tlbimp.exe преобразует параметр [out, retval] метода SomeMethod в возвращаемое значение bool. Ниже представлена подпись метода, создаваемая программой Tlbimp.exe для метода SomeMethod в управляемой библиотеке myTestLib.dll, когда задан параметр /transform:dispret.
bool SomeMethod();
Если вы создаете с помощью Tlbimp.exe управляемую библиотеку для TestLib.dll и не задаете параметр /transform:dispret, программа создаст следующую подпись метода для метода SomeMethod в управляемой библиотеке myTestLib.dll.
void SomeMethod(out bool x);
См. также
- Сервис
- Tlbexp.exe (программа экспорта библиотек типов)
- Импорт библиотеки типов в виде сборки
- Общие сведения о преобразовании библиотеки типов в сборку
- Ildasm.exe (дизассемблер IL)
- Sn.exe (средство строгих имен)
- Сборки со строгими именами
- Атрибуты для импорта библиотек типов в сборки взаимодействия
- Оболочки командной строки для разработчиков