【问题标题】:Calling C/C++ Code from C# .NET application从 C# .NET 应用程序调用 C/C++ 代码
【发布时间】:2014-02-06 12:01:29
【问题描述】:

我有一个 c++ 应用程序,我需要从 C# 应用程序调用它的类方法

我按照以下教程为 C++ 应用程序创建了一个 DLL 文件

http://msdn.microsoft.com/en-us/library/ms235636.aspx

当我尝试为 DLL 文件添加引用时,它给了我错误消息

a reference to could not be added please make sure that the file is accessible and that it is a valid assembky or COM component

【问题讨论】:

    标签: c# c++ visual-studio-2010 dll


    【解决方案1】:

    您不能添加非托管 DLL 作为参考。此外,您不能在 C# 中使用非托管 DLL 中的 C++ 类。以下是您的选择:

    1. 将 C++ 代码编译为混合模式 C++/CLI 程序集,并将非托管 C++ 类包装在 ref 类中。通过添加混合模式 C++/CLI 程序集作为参考,C# 可以以通常的方式使用这些。
    2. 使用 COM 包装器包装非托管 C++ 类,并像使用任何其他 COM 库一样从 C# 中使用这些类。
    3. 使用 C 样式函数包装 C++ 类,并使用 p/invoke 从 C# 中使用它们。

    在这些选项中,通常推荐第一个。

    【讨论】:

    • 实际上,我正在尝试使用 COM 的第二个选项。但如果推荐第一个选项,您能否指点我该选项的教程??
    • Thaaaaaank 你大卫,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 2012-04-15
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多