尝试从 C# 调用 C++ dll 时出现格式不正确的异常
Incorrect format Exception while trying to call C++ dll from C#
我正在使用 C# WPF。
我有一个 C++ 测试 dll,如下所示:
.h:
extern "C" __delspec(dllexport) void TestMethod();
.cpp 文件:
extern "C"
{
__delspec(dllexport) void TestMethod()
{
MessageBox(0, L"Test", L"Test", MB_ICONINFORMATION);
}
}
C# 代码:
[DllImport("DllTest.dll", EntryPoint = "TestMethod")]
public static extern void TestMethod();
当我尝试调用 TestMethod 时出现异常:
an attempt was made to load a program with an incorrect format
我做错了什么?
谢谢!
这似乎是 32bit/ 64 bit
的问题。似乎您的 C++ dll 和 C# 调用程序集是为不同的平台目标构建的。尝试为同一平台(x86 或 x64)编译两者,然后调用函数。
我正在使用 C# WPF。
我有一个 C++ 测试 dll,如下所示:
.h:
extern "C" __delspec(dllexport) void TestMethod();
.cpp 文件:
extern "C"
{
__delspec(dllexport) void TestMethod()
{
MessageBox(0, L"Test", L"Test", MB_ICONINFORMATION);
}
}
C# 代码:
[DllImport("DllTest.dll", EntryPoint = "TestMethod")]
public static extern void TestMethod();
当我尝试调用 TestMethod 时出现异常:
an attempt was made to load a program with an incorrect format
我做错了什么?
谢谢!
这似乎是 32bit/ 64 bit
的问题。似乎您的 C++ dll 和 C# 调用程序集是为不同的平台目标构建的。尝试为同一平台(x86 或 x64)编译两者,然后调用函数。