2012-08-24 37 views
13

有一個類似的問題:Loading .NET UserControls in IE with .NET 4.0這個問題本質上是相同的,但對於.NET 4.5加載.NET用戶控件在IE中使用.NET 4.5

這個問題開頭: 我有一個遺留應用程序,其中有一個UserControl用作在IE中加載的網頁中的ActiveX。在.NET 4.0之前,有一些安全策略和一個用於創建代碼組的MMC控制檯,等等。

安裝.NET 4.5後,似乎該解決方法不再有效,並且IE無法加載任何 usercontrol。我擔心這個功能會被完全刪除。在這種情況下,我們有一些嚴重的重寫做之前,我們的用戶可以安裝.NET 4.5

一些注意事項:

  • 一切工作完全正常使用.NET 4.5 RC。 8-(
  • Fuslogvw(集綁定日誌查看器)的行爲升級之前的預期,但升級後它不記錄任何東西。(和用戶控件沒有被加載。)
  • 在生產中控制研究必須具有完全運行信任,但我所有的測試已經有一個簡單的控制,不需要此
  • 如果誰沒有關於此功能sugestions或信息做什麼?

    感謝

    +0

    我有與.NET 4.5升級win7的一個類似的問題進行測試。下載並安裝.NET 3.5框架後,一位同事已成功地在win 8 x64中加載用戶控件。我不確定這個問題是什麼,但我也在調查。 – Gary

    回答

    29

    這是在.NET記錄4。 5 MSDN上的應用程序兼容性頁面: http://msdn.microsoft.com/en-us/library/hh367887.aspx。主機管理控制IE裏面不再支持開箱即用(向下看在「Web應用程序」中途):

    特點: 託管主機瀏覽器從.NET Framework 1.1的2.0

    控制和

    更改: 在Internet Explorer中阻止託管這些控件。

    影響: Internet Explorer將無法啓動使用託管瀏覽器託管控件的應用程序。以前的行爲可以通過設置註冊表子項HKLM /軟件的EnableLegacyIEHosting值/ MICROSOFT/.NETFramework恢復到1

    不幸的是,在註冊表項上的信息似乎是不完整和錯誤的:

    • 該設置實際上稱爲「EnableIEHosting」。

    • 它必須位於在HKCU蜂巢:HKCU \ SOFTWARE \微軟\ .NETFramework

    • 或HKLM配置單元,但在不同的路徑,這取決於32位/ 64位類型的Windows:
      • 32位系統:HKLM \ SOFTWARE \ MICROSOFT \ .NETFramework
      • 64位系統:HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \。NETFramework

    這是在Windows服務器2008 R2和Windows 8

    +1

    謝謝!我可以添加「EnableIEHosting」必須是DWord而不是QWord或字符串.. – Kipotlov

    +3

    您剛剛保存了我的工作:-D – OnesimusUnbound

    +0

    非常感謝!我在其他地方找到了這個答案,但升級到Windows 8.1和IE 11似乎已經從我的註冊表中刪除了這個。可能仍然會更容易遷移到Silverlight 5,並且在下一個已被判刑死亡的技術被賦予我們需要的能力之前稍微跛了一點=) – ps2goat

    相關問題