Теперь я знаю, что если библиотека находится в .NET, немного бессмысленно обращаться к ней через COM, однако я немного недоумеваю, потому что, если я попрошу кого-нибудь написать библиотеку и разоблачить ее через COM, этот человек должен быть свободен делать это на любом языке.
Мне не важно, на каком языке написана COM-библиотека, так почему это важно?
Для справки, это то, что происходит, когда вы используете tlbimp в файле .tlb, сгенерированном из библиотеки .NET:
C:\dev>tlbimp test.tlb
Microsoft (R) .NET Framework Type Library to Assembly Converter 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.
TlbImp : error TI1029 : Type library 'test' was exported from
a CLR assembly and cannot be re-imported as a CLR assembly.
Кроме того, моя тестовая COM-библиотека использует IUnknown, поддерживая только ранний интерфейс COM.