繁体   English   中英

从 C++ COM dll 生成的互操作程序集给出了构建参考错误

[英]Generated Interop Assembly from a C++ COM dll gives build reference error

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

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

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

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

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

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

任何建议。 请帮助...!!!

提前致谢

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM