由C#编写的IE插件无法在某些Windows系统上运行



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

我按照以下步骤设置了这个插件。

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

    .\NETFX 4.0 Tools\x64\gacutil.exe"/f/i addon.dll

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

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

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

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

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新