Internet Explorer 可以运行针对不同 .NET Framework 版本的附加组件吗?

发布于 2024-11-08 12:14:11 字数 140 浏览 0 评论 0原文

如果我在 .NET Framework 4.0 之上构建 IE 附加组件,它是否可以与针对不同 .NET Framework 版本(即 2.0)的其他附加组件同时使用?

另外,我应该关心关于这个主题的不同版本的 IE 吗?

非常感谢。

If I build an IE Add-On on top of the .NET Framework 4.0, can it be used at the same time with other Add-Ons targeting different .NET Framework Versions (i.e. 2.0)?

Also, should I care about different versions of IE about this subject?

Thank you very much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

长梦不多时 2024-11-15 12:14:11

我相信 iexplorer.exe 进程将通过客户端 PC 上最新版本的 CLR / .NET 框架自动运行所有托管的 .NET 程序集,无论编译程序集时的目标是哪个 .NET 版本。

** 编辑 **

看起来是 4.0 之前的版本。

Internet Explorer 的附加组件称为浏览器帮助对象,通常也记录为 BHO。它们是 COM 类型,因此如果我们要进行托管,我们将进行一些 COM 互操作。我以前曾经这样做过,但主要是出于修修补补或决定回到原生的水平。 .NET Framework 对我来说还有另一个好处,那就是 WPF。我的 BHO 需要一个用户界面,而在本机上执行此操作并不像使用本机库那么简单或优雅。最终我决定使用 .NET Framework 4.0,并且我只能推荐 .NET Framework 4。

以前版本的 CLR 在向 COM 公开类型时有一个严重的缺点:它们总是在计算机上使用最新版本的 CLR。如果您在 .NET Framework 1.1 中编写了 BHO,并且安装了 2.0,它将使用 .NET Framework 2.0 加载程序集。这可能会导致意外的行为。从 .NET Framework 4 开始,COM 可见类型保证针对编译它们的 CLR 运行。

请参阅此处

I believe the iexplorer.exe process will automatically run all hosted .NET assemblies through the newest version of the CLR / .NET framework on the client PC, regardless of what .NET version was targeted when the assemblies were compiled.

** EDIT **

Looks like that was pre-4.0.

Add-on’s to Internet Explorer are called Browser Helper Objects, often documented as BHOs as well. They are COM types, thus if we were going to do this managed, we will be doing some COM Interop. I’ve done this before, but mostly from a level of tinkering or deciding to go back to native. The .NET Framework had another benefit to me, and that was WPF. My BHO requires an user interface, and doing that natively isn’t as easy or elegant as using native libraries. Ultimately I decided to go with .NET Framework 4.0, and I can only recommend the .NET Framework 4.

Previous versions of the CLR has a serious drawback when exposing the types to COM: They always used the latest version of the CLR on the machine. If you wrote a BHO in the .NET Framework 1.1, and 2.0 was installed, it would load the assembly using the .NET Framework 2.0. This can lead to unexpected behavior. Starting in the .NET Framework 4, COM Visible types are guaranteed to run against the CLR they were compile with.

See here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文