Ответ 1
Это не так просто сделать с помощью Visual Studio.NET, но это можно сделать. На базовом уровне вам нужно сделать следующее:
-
Создайте свой TLB файл, например, "YourLibrary.tlb".
-
Создайте файл ресурса Win32 script, называемый, например, "YourLibrary.rc", с помощью текстового редактора (например, "Блокнот" или "Файл/Новый/Файл.../Текстовый файл в Visual Studio" ).
-
В файле script введите следующий текст дословно (но, конечно, замените фактическое имя файла TLB):
1 typelib "YourLibrary.tlb"
-
Сохраните файл script в той же папке, что и файл TLB.
-
Из командной строки Visual Studio перейдите в папку с файлом script и скомпилируйте ее, используя следующую команду:
rc YourLibrary.rc
Это создаст файл ресурсов Win32 в той же папке, что и "YourLibrary.res".
-
В Visual Studio щелкните правой кнопкой мыши проект node (например, "YourLibrary" ) в обозревателе решений и выберите "Свойства".
-
На вкладке "Приложение" в разделе "Ресурсы" выберите параметр "Файл ресурсов" и перейдите к файлу "YourLibrary.res" с шага 5.
-
Сохраните и перестройте проект.
Теперь TLB будет внедрен в качестве ресурса в DLL, чтобы другие COM-приложения могли его прочитать.
Если вы позже обновите файл TLB, вам нужно будет повторить шаг 5, чтобы перекомпилировать файл ресурсов и шаг 8, чтобы внедрить новую версию в DLL.
Все, что было сказано, вы можете автоматизировать некоторые из них с помощью Build Events или поместив пользовательские цели MSBuild в свой файл проекта, но это еще одно обсуждение.