我在C ++中创建了一个dll(windows 10,64位dll,发布配置)
我只有一个功能。
extern "C"
{
__declspec(dllexport) void ConnectX()
{
std::cout << "yes" << std::endl;
}
}
当我创建一个新的c#项目时,使用:
从中调用一个函数 [DllImport("XsensGrab.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void ConnectX();
static void Main(string[] args)
{
Thread threadConnect = new Thread(ConnectX);
threadConnect.Start();
}
它按预期工作。
当我将相同的代码添加到我为其创建的现有项目中并运行它时,没有任何反应。没有错误,但也没有连接。
两个C#项目都是发布/ ANY_CPU。
我看不出有什么区别。为什么这会在一个项目中工作,而不是另一个项目?我可以检查C#应用程序中的哪个设置以查找原因?
答案 0 :(得分:-1)
我需要的是将构建设置/平台目标从任何CPU更改为x86,将dll更改为win32。