5

我有一个我在'Win32'平台的Windows7(64位操作系统)中构建的dll。不幸的是,当我在 C# 代码中导入这个 dll 时,我遇到:

"

试图加载格式不正确的程序 HRESULT: 0x8007000B

“被观察到

当我对这个 DLL 使用 DependencyWalker 时,它显示找不到 IESHIMS.dll 和 MSVCR110.dll 依赖项。

这些 dll 来自哪里以及为什么我创建的 dll 依赖于这两个?请帮助我如何解决这个问题?

注意:我在 C# 代码中使用了 x86 平台。

4

3 回答 3

3

IEShims.dll可用于 Windows VistaWindows 7可用于处理保护模式Internet Explorer 9或更新的模式。这里有进一步的解释

您应该能够从另一Windows 7台装有 Internet Explorer 9或更新版本的机器上获取副本。作为快速修复,从http://www.dll-files.com/dllindex/dll-files.shtml?ieshimsWindows 7获取版本

于 2013-01-04T11:40:07.767 回答
2

您可能没有安装 C++ 运行时。下载并安装它。您必须稍微使用运行时的版本。有相当多的版本可用。这将解决您的 MSVCR110.dll 问题。我不确定为什么 dll 显示对 IE dll 的依赖关系。

于 2012-09-20T16:11:09.157 回答
1

确保在 C# 项目的属性中选择 x86 作为目标体系结构。

于 2012-09-20T15:19:51.757 回答