COM声明存储在类型库中。 因此,.NET团队决定,当类型库内容与.NET元数据的匹配程度不足够时,转换应该是一个单独的步骤,可以显示警告或错误。该转换工具是Tlbimp.exe,即类型库导入工具。他们 did
我最近接手了一个项目,几乎没有VS COM经验,所以如果我问的不是正确的问题,请原谅我。
我有一个生成COM dll的C ++项目,将其命名为abc.dll。
我还有一个引用COM dll的C#项目,但是在引用下,它指向Interop.abc.dll。我删除了目录和interrop.abc.dll中的所有abc.dll,以查看项目的反应,启动项目后,interop.abc.dll会自动生成。这让我感到困惑,因为我不知道如何生成interop.abc.dll。
所以这是我的问题:
如果生成此代码,C#项目最初如何引用interop.abc.dll?
如果没有abc.dll开头,我是如何生成interop.abc.dll的(我创建了它)]] >>
我玩了这个项目,然后interop.abc.dll停止生成并导致错误,为什么?
我最近接手了一个项目,对VS COM的经验很少,所以如果我问的不是正确的问题,请原谅我。我有一个生成COM dll的C ++项目,命名为abc.dll。我...
COM声明存储在类型库中。 因此,.NET团队决定,当类型库内容与.NET元数据的匹配程度不足够时,转换应该是一个单独的步骤,可以显示警告或错误。该转换工具是Tlbimp.exe,即类型库导入工具。他们 did
所有这些都解释了项目符号1。项目符号2是不行的,您确实需要类型库。 Tlbimp.exe经常将它作为资源嵌入非托管DLL中,它知道如何找到它。没有人可以看到3中的错误,因此毫无疑问是什么问题。请记住,转换并非总是没有麻烦,这是使转换步骤明确的关键。
COM声明存储在类型库中。 因此,.NET团队决定,当类型库内容与.NET元数据的匹配程度不足够时,转换应该是一个单独的步骤,可以显示警告或错误。该转换工具是Tlbimp.exe,即类型库导入工具。他们 did