使用.NET 4.5在IE中加载.NET UserControls

Ste*_*and 14 user-controls internet-explorer .net-4.5

还有一个类似的问题: 使用.NET 4.0在IE中加载.NET UserControls这个问题基本相同,但对于.NET 4.5

这个问题的开头是: 我有一个遗留应用程序,其中有一个UserControl,用作IE中加载的网页中的activex.在.NET 4.0之前,有安全策略和MMC控制台用于创建代码组等.看起来这一切都已经过去了.NET 4.0.

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

一些说明:

  • 使用.NET 4.5 RC,一切都运行得很好.8-(
  • Fuslogvw(程序集绑定日志查看器)在升级之前按预期运行,但在升级之后它不会记录任何内容.(并且没有加载usercontrol.)
  • 在生产中,controll必须以完全信任的方式运行,但我所有的测试都是通过一个不需要这个的简单控件完成的
  • 有关此功能的消息或信息的任何人?

    谢谢

    Mic*_*ael 30

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

    功能:从.NET Framework 1.1和2.0托管浏览器托管控件

    更改:在Internet Explorer中阻止托管这些控件.

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

    不幸的是,有关注册表项的信息似乎不完整和错误:

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

    • 它必须位于HKCU Hive:HKCU\SOFTWARE\Microsoft\.NETFramework中

    • 或HKLM配置单元,但在不同的路径下,取决于32/64位类型的Windows:
      • 32位系统:HKLM\SOFTWARE\MICROSOFT\.NETFramework
      • 64位系统:HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework

    这在Windows Server 2008R2和Windows 8上都经过了测试.

    • 你救了我的工作:-D (3认同)
    • 谢谢!我可以添加“ EnableIEHosting”必须是DWord而不是QWord或字符串。 (2认同)