【问题标题】:C++ project reference in a C# project in visual studio 2008Visual Studio 2008 中的 C# 项目中的 C++ 项目参考
【发布时间】:2010-07-02 23:42:11
【问题描述】:

是否可以在 C# 项目中引用 C++ 项目?我尝试在 c# 项目中添加对该 C++ 项目的引用,但出现错误提示“无法添加对的引用”

【问题讨论】:

    标签: c# c++ visual-studio


    【解决方案1】:

    您不能直接引用本机 DLL。只有在为 CLI 编译它(以 .NET CLR 为目标)或构建了 COM 组件(在这种情况下 VS 会自动构建互操作 DLL)时,您才能这样做。否则没办法,你只好写一个包装DLL。

    【讨论】:

      【解决方案2】:

      如果您的 C++ 项目是本机(标准 C++)项目,则不是。如果是托管项目,可以添加对它的引用。

      对于本机代码,您需要使用 P/Invoke 来访问 C++ DLL 中的函数。

      【讨论】:

        【解决方案3】:

        看看this 网页。这是一篇关于混合 C、C++、C# 和 Lisp 代码以及简短示例的非常好的文章。不幸的是,当您使用托管 C++ 时,C++ -> C# 大多是可能的。 简短示例 (from earlier mentioned webpage),展示了如何从 C# 调用 C++ 托管的 Adder 类:

        using System;
        using System.Collections.Generic;
        using System.Text;
        
        namespace Dllcaller
        {
            class Program
            {
                static void Main(string[] args)
                {
                    Adder a = new Adder();
                    Console.WriteLine(a.add(1, 7));
                    while (true) ;
                }
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2010-12-22
          • 1970-01-01
          • 2011-11-09
          • 2014-08-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-02
          相关资源
          最近更新 更多