Как зарегистрировать библиотеку типов без RegAsm.exe

Я хочу знать, возможно ли зарегистрировать библиотеку типов без использования инструмента RegAsm. Вот моя ситуация, которая, я надеюсь, объяснит, почему я хочу сделать это:

Я разрабатываю сборку в.NET, которая предоставит некоторые современные функциональные возможности для наших старых приложений VB6. Я успешно зарегистрировал сборку и библиотеку типов на моей машине разработки, используя RegAsm, например, так:

regasm.exe MyAssembly.dll /tlb /codebase

Приведенная выше команда генерирует библиотеку типов (MyAssembly.tlb) и регистрирует ее, а также регистрирует сборку. Мне нужна зарегистрированная библиотека типов, чтобы я мог иметь Intellisense в VB6.

Моя проблема с этим методом заключается в том, что у меня нет такого же уровня контроля при создании файла библиотеки типов, как у меня с TlbExp.exe. В частности, мне нужно использовать флаг TlbExp /names, чтобы указать правильный регистр имен моих свойств (RegAsm вырезает их). Поэтому, если я использую TlbExp для генерации моего tlb-файла, есть ли способ зарегистрировать его отдельно от процесса регистрации сборки?

Изменить: ответ da_m_n является правильным для вопроса, который я задал. Однако я ошибочно полагал, что только из-за того, что RegAsm может зарегистрировать библиотеку типов, необходимо было зарегистрировать tlb, чтобы ссылаться на него в VB6. Так что сейчас я регистрирую сборку и ссылаюсь на незарегистрированный Tlb-сгенерированный tlb с фиксированными именами.

2 ответа

Решение

Используйте regtlib.exe, чтобы зарегистрировать tlbexp сгенерированный файл tlb.

regtlib.exe недоступно на платформах Win10. Используйте соответствующие TlbExp.exe как найдено в соответствующем.NET SDK (например, "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\TlbExp.exe" "$(TargetDir)$(TargetFileName)" см. https://docs.microsoft.com/en-us/dotnet/framework/tools/tlbexp-exe-type-library-exporter).

Другие вопросы по тегам