-1

我用 C# 和 .net 4.0 编写了一个 IE 插件。但它不能在客户端的大多数计算机上运行。

我通过以下步骤设置此插件。

  1. 安装.net 4.0
  2. 通过运行将插件 dll 添加到 GAC

    .\NETFX 4.0 工具\x64\gacutil.exe" /f /i Addon.dll

  3. 通过运行将dll注册到IE

    "C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" Addon.dll

完成这些步骤后,我可以在 ie 中找到我的插件。它可用并已启用,但无法正常工作。它在我的电脑上运行良好。但不是在其他电脑上。

4

2 回答 2

1

您可能想要检查您的构建所针对的 CPU。如果您专门针对 64 位然后在 32 位上运行,这可能是问题所在。

于 2014-02-20T03:32:55.040 回答
0

发生这种情况的原因有很多。例如,可能有一些其他 .net 组件已经加载到内存中,需要不同版本的框架。无论哪个版本的框架首先加载都会获胜,并且在任何给定时间只能加载一个。

这是您不应在托管代码中编写 Explorer 或 IE 扩展的原因之一,因为您无法控制进程中可能已加载的框架版本。

它也可能是 32 位程序集,试图加载到 64 位进程中,反之亦然。

也可能是您的组件没有完全实现正确的接口。

由于没有其他信息,我们很难诊断问题。

于 2014-02-20T04:32:19.410 回答