Visual Studio 2008中在C#项目中引用C++项目的参考方法

4

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

3个回答

6

您不能直接引用本地DLL。只有在为CLI编译它(针对.NET CLR)或构建了COM组件的情况下才能这样做(在这种情况下,VS会自动构建一个交互式DLL)。否则,您需要编写包装器DLL。


2
如果您的C++项目是本地的(标准C++),那么不需要。如果它是托管项目,您可以添加对其的引用。
对于本地代码,您需要使用P/Invoke来访问C++ DLL中的函数。

0
看一下this网页。这是一篇非常好的文章,介绍了C、C++、C#和Lisp代码混合的方法,并提供了简短的示例。不幸的是,C++到C#的转换大多需要使用托管C++。 以下是一个简短的示例(来自前面提到的网页),展示了如何从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) ;
        }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接