Teraz jestem świadomy, że jeśli biblioteka jest w .NET, jest to trochę bezsensowne, aby uzyskać do niej dostęp za pośrednictwem COM, jednak jestem nieco zakłopotany, ponieważ gdybym poprosił kogoś o napisanie biblioteki i odsłonięcie jej przez COM , ta osoba powinna mieć do tego prawo z dowolnym językiem.Dlaczego biblioteka .NET COM nie może być używana przez COM w .NET?
Nie ma dla mnie znaczenia, w jakim języku jest napisana biblioteka COM, więc dlaczego ma to znaczenie?
Dla porównania, jest to, co się dzieje, gdy używasz tlbimp na pliku wygenerowanego .tlb z biblioteki .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.
Dodatkowo moja próba biblioteki COM używa IUnknown, wspierając tylko wcześnie związany współdziałanie COM .
pst: Narzędzie tlbimp.exe nie zezwala na import typów. – Arafangion
pst: Jak inaczej można użyć biblioteki .NET COM przez COM w .NET? – Arafangion
tlbimp.exe to narzędzie do automatycznego wyodrębniania/budowania powiązań. Nie jest to wymagane, a cały proces można wykonać ręcznie, tak jak w przypadku każdego innego interfejsu COM używanego w .NET. –