提问人:rejkid 提问时间:11/11/2023 最后编辑:rejkid 更新时间:11/11/2023 访问量:49
为什么在我的机器上加载dll总是失败
Why is loading dll on my machine consistently failing
问:
我正在尝试学习如何从应用程序中调用方法。我将 c 和 c# 作为 64 位版本运行。
我正在关注此 Microsoft 文章链接 - 示例 2。c
dll
c#
当我运行(见下文)时 - 我收到错误:cm.exe
Unhandled Exception: System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
简而言之,c dll只包含以下代码:
// cmdll.c
// Compile with: -LD ("cl -LD cmdll.c")
int __declspec(dllexport) SampleMethod(int i)
{
return i*10;
}
C# 可执行文件与 c dll 并置,如下所示:
// cm.cs (compile with "csc cm.cs")
using System;
using System.Runtime.InteropServices;
public class MainClass
{
[DllImport("Cmdll.dll")]
public static extern int SampleMethod(int x);
static void Main()
{
Console.WriteLine("SampleMethod() returns {0}.", SampleMethod(5));
}
}
我做错了什么?这是怎么回事?
更新: 我现在已经设法将 cm 应用程序作为 64 位(从 Visual Studio 2022 中)运行,但我这次得到了
System.DllNotFoundException: 'Unable to load DLL 'Cmdll.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)'
答: 暂无答案
评论
BadImage...
System.DllNotFoundException: 'Unable to load DLL 'Cmdll.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)'