regasm RA0000: типы не зарегистрированы

У меня есть сборка C++/CLI (скомпилированная для .NET 3.5, которая поставляется с Windows 7). Сборка помечена как ComVisible(true). Он содержит 2 класса и 1 интерфейс. Оба класса помечены как ComVisible(false), поэтому они не должны иметь значения. Интерфейс отмечен InterfaceType(ComInterfaceType::InterfaceIsIUnknown) и определенным идентификатором GUID. Этот интерфейс необходимо зарегистрировать.

Когда я пытаюсь зарегистрировать эту сборку с помощью RegAsm.exe AssemplyName, я получаю это предупреждение:

RegAsm : warning RA0000 : No types were registered

Моя сборка зависит от трех других сборок, которые находятся в том же каталоге, что и моя основная сборка. 2 из них регистрируются без проблем, а 3-й не помечен как ComVisible.

Есть идеи, почему я не могу зарегистрировать свою сборку?


person Daniel Gabriel    schedule 08.11.2011    source источник
comment
Да, интерфейс был общедоступным. Спасибо.   -  person Daniel Gabriel    schedule 09.11.2011


Ответы (1)


Похоже, что сборка не была зарегистрирована, потому что она не содержала классов, доступных для регистрации, только один интерфейс. Как только я добавил в сборку фиктивный класс, предупреждение исчезло, и сборка была зарегистрирована.

person Daniel Gabriel    schedule 09.11.2011
comment
Куда я хочу добавить фиктивный класс? - person Sagotharan; 11.01.2014
comment
Просто добавьте фиктивный класс в свой проект. - person Daniel Gabriel; 11.01.2014