我有一个 visual studio 2005 c++ 项目(使用 QT 框架)。我想引用和使用我通过 COM 拥有的 .net 4 库。我知道如果我在 2005 年有一个 .net 项目(.net 2 或 .net 3.5),我不能引用 .net 4 库,但我很想知道在 c++ 项目中尝试使用它是否会有任何问题通过 COM。我现在还不能创建和测试概念验证应用程序,所以我想知道是否有其他人尝试过或对此有所了解。
谢谢
最佳答案
使用 COM 是加载 CLR 以便执行托管代码的好方法。但是您必须在 C++ 代码中使用 COM 编程技术。使用“添加引用”不起作用,这是一个只有在使用 C++/CLI 语言编写托管代码时才可用的选项。
一个好方法是使用 #import directive在你的 C++ 代码中。这可以加载类型库并自动生成智能指针类型和方法包装器,您可以直接在 C++ 代码中调用这些类型。使用 Tlbexp.exe 实用程序或 Regasm.exe/tlb 命令行选项生成您需要的类型库。 QT 也有内置的 COM 支持,我对此了解不够。
关于c++ - 在 vs2005 中通过 COM 引用 .net 4 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500255/