Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试调用C+;时出现不正确的格式异常+;来自C的dll#_C#_C++_Wpf_Language Interoperability - Fatal编程技术网

C# 尝试调用C+;时出现不正确的格式异常+;来自C的dll#

C# 尝试调用C+;时出现不正确的格式异常+;来自C的dll#,c#,c++,wpf,language-interoperability,C#,C++,Wpf,Language Interoperability,我正在使用C#WPF。 我有一个C++测试DLL,如下: .h: .cpp文件: extern "C" { __delspec(dllexport) void TestMethod() { MessageBox(0, L"Test", L"Test", MB_ICONINFORMATION); } } C#代码: [DllImport("DllTest.dll", EntryPoint = "TestMethod")] public static ext

我正在使用C#WPF。
我有一个C++测试DLL,如下: .h:

.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
我做错了什么?
谢谢



这似乎是
32位/64位的问题。似乎你的C++ DLL和C语言调用程序集是为不同的平台目标构建的。尝试为同一平台(x86或x64)编译这两个函数,然后调用该函数。

我有类似于
[DllImport(“DllTest.dll”,CallingConvention=CallingConvention.Cdecl)]
。指定呼叫约定有帮助吗?谢谢!!!。。我用另一个问题编辑我的帖子,如果我有一个以上的函数,我需要替换什么[DllImport(“DllTest.dll”,EntryPoint=“TestMethod”)]?@Evyatar best将其作为一个单独的问题发布。我们喜欢一个问题一个问题的格式:)@CompuChip,是的。。我问了一个新问题:P
an attempt was made to load a program with an incorrect format