16

同様の質問があります: Loading .NET UserControls in IE with .NET 4.0この質問は本質的に同じですが、.NET 4.5の場合です。

その質問は次のように始まります: IE に読み込まれた Web ページで ActiveX として使用される UserControl があるレガシー アプリを持っています。.NET 4.0 より前は、セキュリティ ポリシーと、コード グループを作成するための MMC コンソールなどがありました。.NET 4.0 では、それらがすべてなくなったようです。

.NET 4.5 をインストールすると、回避策が機能しなくなり、IE がユーザー コントロールを読み込めなくなります。私が恐れているのは、この機能が完全に削除されることです。その場合、ユーザーが .NET 4.5 をインストールできるようになる前に、重大な書き直しを行う必要があります。

いくつかのメモ:

  • .NET 4.5 RC では、すべてが完全に正常に機能していました。8-(
  • Fuslogvw (Assembly Binding Log Viewer) アップグレード前は期待どおりに動作しますが、アップグレード後は何もログに記録されません。(そして、ユーザーコントロールはロードされていません。)
  • 本番環境では、コントロールは完全な信頼で実行する必要がありますが、私のテストはすべて、これを必要としない単純なコントロールで行われています
  • この機能に関する提案や情報を持っている人はいますか?

    ありがとう

    4

    1 に答える 1

    31

    これは、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 ハイブですが、Windows の 32/64 ビット タイプに応じて異なるパスの下にあります。
      • 32 ビット システム: HKLM\SOFTWARE\MICROSOFT\.NETFramework
      • 64 ビット システム: HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework

    これは、Windows Server 2008R2 と Windows 8 の両方でテストされています。

    于 2012-08-25T06:36:39.310 に答える