2010-11-26 8 views
4

Мне недавно понадобилось создать сборку interop. После некоторого поиска я обнаружил tlbimp.exe. Моя следующая проблема заключалась в том, что в моей библиотеке COM не появился файл .tlb. Далее googling показал, что тип lib часто включается в качестве ресурса в exe/dll. Конечно же, открытие exe в VS2010 показало, что это тип lib, и щелкните правой кнопкой мыши позже. У меня был файл tlb для использования с tlbimp. Потрясающие.Как извлечь TypeLib из COM exe в командной строке

Однако это не очень хороший процесс. Должен ли я сделать это в будущем, есть ли способ извлечь файл типа Lib (.tlb) из .exe с помощью командной строки?

ответ

8

Tlbimp.exe может обрабатывать ресурс библиотеки типов внутри EXE просто отлично. Например:

C:\temp\temp>tlbimp c:\windows\system32\wiaacmgr.exe 
Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.30729.1 
Copyright (C) Microsoft Corporation. All rights reserved. 

Type library imported to WIAACMGRLib.dll 

Автоматизация этого довольно рискованного кстати. Библиотека типов вполне эквивалентна ссылке на сборку. Если он изменится, вы хотите узнать об этом. Не только потому, что вам, возможно, придется изменить свой код взаимодействия и протестировать его, DLL Hell тоже стучит в вашу дверь.

+1

Если бы я мог удвоить это дважды, я бы это сделал. – 2010-11-26 16:23:09