从C++COM dll生成的互操作程序集出现生成引用错误



我正在尝试将我的32位应用程序迁移到x64bit,在我的应用程序中我有一个C++COM dll我在x64配置中构建了它。我正在使用命令生成COM C++dll的互操作程序集

        TLBIMP faacom.dll /out:Interop.FAACOMLib.dll

我有另一个C#项目(配置-任何CPU),我正在其中添加上面的Interop dll的引用。但是,当我试图构建我的C#项目时,即使它指向正确的路径,也会出现构建错误:

错误1找不到类型或命名空间名称"FAACOMLib"(是否缺少using指令或程序集引用?)

但是,当我在我的C#项目中使用相同的Interop dll时,它是从我的C++COM dll的32位编译版本生成的,我没有得到任何构建错误。

我已尝试使用x64 TLBIMP.exe生成互操作dll,但不起作用。

任何建议。请帮忙。。。!!!

提前感谢

我也遇到了同样的问题。显然,当您在tlbimp的out参数中更改DLL的名称时,出于某种原因,它也会更改名称空间。您可以使用名称空间参数手动更改名称空间。我认为下面的命令应该有效。

TLBIMP faacom.dll /out:Interop.FAACOMLib.dll /namespace:FAACOMLib

相关内容

最新更新