现在,我知道如果库是在.NET中,通过COM访问它有点没有意义,但是,我有点困惑,因为如果我要求某人写一个库并通过COM公开它,那么任何人都应该可以自由地使用任何语言.
对我来说,编写COM库的语言并不重要,为什么它重要?
作为参考,当您在.NET库生成的.tlb文件上使用tlbimp时会发生这种情况:
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.
Run Code Online (Sandbox Code Playgroud)
另外,我的测试COM库使用IUnknown,仅支持早期绑定的COM互操作.