我正在尝试将作为托管C ++链接的第三方dll导入VS2010中的C#。据我所知,这应该是可能的。 dll也可以通过Add Reference加载,但即使在对象浏览器中可以看到整个DLL的内容,我也无法访问命名空间中的任何内容
但是有一个例外:如果我在DLL中公开类(我有源代码),我可以访问类的无参数构造函数,但就是这样。
我尝试了各种各样的解决方案,包括将所有内容都包含在extern "C++"
中,但这没有任何区别。
我可能做错了什么?请注意,C ++项目没有dllMAin文件。
这些类在C ++项目中声明如下:
#ifndef _POINT_H
#define _POINT_H
***usings***
namespace NS {
public class __declspec(dllexport) Point
{
private:
double* pstart_;
int n_;
public :
Point()
: pstart_(0), n_(0)
{}
Point(double x, double y)
: pstart_(new double[2]), n_(2)
{
pstart_[0] = x;
pstart_[1] = y;
}
Methods etc...
}
}