使用 .NET 4.5 在 IE 中加载 .NET UserControls [英] Loading .NET UserControls in IE with .NET 4.5

查看:21
本文介绍了使用 .NET 4.5 在 IE 中加载 .NET UserControls的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有一个类似的问题:Loading .NET UserControls inIE with .NET 4.0 这个问题本质上是一样的,但是对于.NET 4.5

There is a similar question: Loading .NET UserControls in IE with .NET 4.0 This question is essentially the same, but for .NET 4.5

这个问题开始于:我有一个遗留应用程序,其中有一个 UserControl,它在 IE 中加载的网页中用作 activex.在 .NET 4.0 之前,有安全策略和用于创建代码组等的 MMC 控制台. .NET 4.0 似乎都没有了.

安装 .NET 4.5 后,解决方法似乎不再有效,并且 IE 无法加载任何用户控件.我担心这个功能会被完全删除.在这种情况下,在我们的用户可以安装 .NET 4.5 之前,我们需要进行一些认真的重写

After installing .NET 4.5 it seems the workaround is no longer working, and that IE is unable to load any usercontrol. My fear is that this feature is removed altogether. In that case we have some serious rewriting to do before our users can install .NET 4.5

一些注意事项:

  • 使用 .NET 4.5 RC 一切正常.8-(
  • Fuslogvw(程序集绑定日志查看器)在升级前按预期运行,但升级后不记录任何内容.(并且没有加载用户控件.)
  • 在生产中,控件必须在完全信任的情况下运行,但我所有的测试都是用一个不需要这个的简单控件完成的
  • 有人对此功能有任何建议或信息吗?

    Anybody who has sugestions or information regarding this feature?

    谢谢

    推荐答案

    这在 MSDN 上的 .NET 4.5 应用程序兼容性页面中有记录:http://msdn.microsoft.com/en-us/library/hh367887.aspx .开箱即用不再支持在 IE 内托管托管控件(请参阅Web 应用程序"下的中间部分):

    This is documented in the .NET 4.5 Application Compatibility Page on MSDN: http://msdn.microsoft.com/en-us/library/hh367887.aspx . Hosting managed controls inside IE is no longer supported out of the box (see half-way down under "Web Applications"):

    特点:来自 .NET Framework 1.1 和 2.0 的托管浏览器托管控件

    Feature: Managed browser hosting controls from the .NET Framework 1.1 and 2.0

    变化:承载这些控件在 Internet Explorer 中被阻止.

    Change: Hosting these controls is blocked in Internet Explorer.

    影响:Internet Explorer 将无法启动使用托管浏览器托管控件的应用程序.可以通过将注册表子项 HKLM/SOFTWARE/MICROSOFT/.NETFramework 的 EnableLegacyIEHosting 值设置为 1 来恢复之前的行为.

    Impact: Internet Explorer will fail to launch an application that uses managed browser hosting controls. The previous behavior can be restored by setting the EnableLegacyIEHosting value of the registry subkey HKLM/SOFTWARE/MICROSOFT/.NETFramework to 1.

    不幸的是,注册表项上的信息似乎不完整且错误:

    Unfortunately, the information on the registry key appears to be incomplete and wrong:

    • 该设置实际上称为EnableIEHosting".

    • The setting is actually called "EnableIEHosting".

    它必须位于 HKCU Hive 中:HKCUSOFTWAREMicrosoft.NETFramework

    It must be located either in the HKCU Hive: HKCUSOFTWAREMicrosoft.NETFramework

    • 32 位系统:HKLMSOFTWAREMICROSOFT.NETFramework
    • 64 位系统:HKLMSOFTWAREWow6432NodeMicrosoft.NETFramework

    这已在 Windows Server 2008R2 和 Windows 8 上进行了测试.

    This was tested on both Windows Server 2008R2 and Windows 8.

    这篇关于使用 .NET 4.5 在 IE 中加载 .NET UserControls的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆