2012-08-24 3 views
13

Es gibt eine ähnliche Frage: Loading .NET UserControls in IE with .NET 4.0 Diese Frage im Wesentlichen die gleiche, aber für .NET 4.5Laden .NET Usercontrols in IE mit .NET 4.5

Diese Frage beginnt mit: ich habe Legacy-App, in der ein UserControl vorhanden ist, das als ActiveX in einer in IE geladenen Webseite verwendet wird. Vor .NET 4.0 gab es Sicherheitsrichtlinien und eine MMC-Konsole zum Erstellen von Codegruppen usw. Es scheint, als ob alles mit .NET 4.0 weg ist.

Nach der Installation von .NET 4.5 scheint es, dass die Problemumgehung nicht mehr funktioniert, und dass IE keine usercontrol laden kann. Ich befürchte, dass diese Funktion komplett entfernt wird. In diesem Fall haben wir einige ernsthaften Umschreiben zu tun, bevor unsere Benutzer .NET 4.5

Einige Anmerkungen installieren:

  • Alles funktioniert völlig in Ordnung mit dem 4.5 RC .NET. 8- (
  • Fuslogvw (Assembly Binding Log Viewer) Verhält sich wie vor dem Upgrade erwartet, aber nach dem Upgrade ist nichts anzumelden. (Und Usercontrol nicht geladen wird.)
  • In der Produktion der controll mit voll laufen müssen Vertrauen, aber alle meine Tests wurde mit einer einfachen Steuerung durchgeführt, die nicht diese
  • wer benötigt die sugestions oder Informationen zu dieser Funktion hat?

    dank

    +0

    Ich habe ein ähnliches Problem mit Upgrade win7 mit 4,5 .NET. Ein Kollege konnte das Benutzersteuerelement nach dem Herunterladen und Installieren des .NET 3.5-Frameworks erfolgreich in win 8 x64 laden. Ich bin mir nicht sicher, was das Problem zu dieser Zeit ist, aber ich untersuche auch. – Gary

    Antwort

    29

    das in .NET dokumentiert 4. 5 Anwendungskompatibilitätsseite auf MSDN: http://msdn.microsoft.com/en-us/library/hh367887.aspx. Managed Hosting Kontrollen innerhalb IE ist nicht mehr aus der Box unterstützt (siehe auf halben Weg nach unten unter "Web Applications"):

    Feature: Managed Browser-Hosting-Steuerelemente aus dem .NET Framework 1.1 und 2.0

    Änderung: Das Hosting dieser Steuerelemente ist in Internet Explorer blockiert.

    Auswirkung: Internet Explorer kann eine Anwendung, die verwaltete Browser-Hoststeuerelemente verwendet, nicht starten. Das bisherige Verhalten kann leider durch Setzen des EnableLegacyIEHosting Wert des Registrierungsunterschlüssel HKLM/Software/Microsoft/.NETFramework bis 1.

    wieder hergestellt werden, wird die Information über den Registrierungsschlüssel unvollständig und falsch sein:

    • Die Einstellung wird eigentlich "EnableIEHosting" genannt.

    • Es muss sich entweder in der HKCU Hive: HKCU \ SOFTWARE \ Microsoft \ .NETFramework

    • oder der HKLM-Struktur, aber unter verschiedenen Wegen, abhängig von der 32/64-Bit-Art von Windows:
      • 32-Bit-System: HKLM \ SOFTWARE \ MICROSOFT \ .NETFramework
      • 64-Bit-System: HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \.NETFramework

    Dies wurde sowohl unter Windows Server 2008R2 getestet und Windows 8.

    +1

    Danke! Ich kann hinzufügen, dass "EnableIEHosting" muss ein DWord und nicht QWord oder String sein. – Kipotlov

    +3

    Sie haben gerade meinen Job gespeichert :-D – OnesimusUnbound

    +0

    Vielen Dank! Ich habe diese Antwort woanders gefunden, aber ein Upgrade auf Windows 8.1 und IE 11 scheint das aus meiner Registrierung entfernt zu haben. Es könnte noch ein bisschen einfacher sein, zu Silverlight 5 zu migrieren und damit ein wenig zu humpeln, bevor die nächste schon verurteilte Technologie die Fähigkeiten bekommt, die wir brauchen =) – ps2goat