【问题标题】:Runtime Error - The specified module could not be found运行时错误 - 找不到指定的模块
【发布时间】:2012-08-03 17:25:27
【问题描述】:

当我运行编译为 x86 的应用程序时,我得到:

"找不到指定的模块"

它可以很好地编译为 x64。该应用程序可以从codeproject 下载。我需要在 32 位应用程序中运行这个类库。

我在depency walker 中看到的错误:

错误:发现具有不同 CPU 类型的模块。警告:至少 未找到一个延迟加载依赖模块。警告:至少一个 由于缺少导出功能,模块具有未解析的导入 延迟加载依赖模块。

依赖walker中的更多信息...

IESHIMS.DLL not found

此代码导致问题:

        s_MouseHookHandle = SetWindowsHookEx(
            WH_MOUSE_LL,
            s_MouseDelegate,
            Marshal.GetHINSTANCE(
                Assembly.GetExecutingAssembly().GetModules()[0]),
            0);

稍后在路上......

int errorCode = Marshal.GetLastWin32Error();//error code comes back as 126

知道如何在 32 位应用程序中运行吗?

【问题讨论】:

  • @HansPassant - Dangit Hans 你为我节省了一个周末的工作量!!你是个天才。如果你愿意,我很乐意给你答案。

标签: c# winforms visual-studio-2010 windows-7-x64


【解决方案1】:

通过配置管理器添加一个 x86 解决方案平台,并将两个项目的平台更改为 x86。 “在 C# 中处理全局鼠标和键盘挂钩”在 x86 中运行良好。

http://msdn.microsoft.com/en-us/library/kwybya3w(v=vs.80).aspx

【讨论】:

    猜你喜欢
    • 2017-05-06
    • 2015-12-22
    • 1970-01-01
    • 2017-09-17
    • 2017-09-20
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多