2012-08-24 35 views
13

Có một câu hỏi tương tự: Loading .NET UserControls in IE with .NET 4.0 Câu hỏi này được về cơ bản giống nhau, nhưng đối với .NET 4.5UserControls tải NET trong IE với .NET 4.5

Câu hỏi đó bắt đầu với: Tôi đã có một ứng dụng cũ có một UserControl được sử dụng như một activex trong một trang web được tải trong IE. Trước .NET 4.0, đã có các chính sách bảo mật và giao diện điều khiển MMC để tạo các nhóm mã, vv Có vẻ như tất cả đã biến mất với .NET 4.0.

Sau khi cài đặt .NET 4.5 có vẻ như cách giải quyết không còn hoạt động nữa và IE không thể tải bất kỳ điều khiển người dùng nào. Nỗi sợ của tôi là tính năng này bị loại bỏ hoàn toàn. Trong trường hợp đó, chúng tôi có một số viết lại nghiêm túc để thực hiện trước khi người dùng của chúng tôi có thể cài đặt .NET 4.5

Một số lưu ý:

  • Mọi thứ hoạt động hoàn toàn tốt với .NET 4.5 RC. 8- (
  • Fuslogvw (Trình xem nhật ký ràng buộc lắp ráp) Hoạt động như mong đợi trước khi nâng cấp, nhưng sau khi nâng cấp nó không ghi nhật ký gì cả. (Và điều khiển người dùng không được tải.)
  • Trong quá trình sản xuất, bộ điều khiển sẽ phải chạy đầy tin tưởng, nhưng tất cả các thử nghiệm của tôi đã được thực hiện với một điều khiển đơn giản mà không đòi hỏi này ai
  • người có sugestions hoặc các thông tin liên quan đến tính năng này?

    nhờ

    +0

    Tôi gặp một vấn đề tương tự với nâng cấp win7 với .NET 4.5. Một đồng nghiệp đã thành công có thể tải điều khiển người dùng trong win 8 x64, sau khi tải xuống và cài đặt khung công tác .NET 3.5. Tôi không chắc vấn đề là gì vào lúc này, nhưng tôi cũng đang điều tra. – Gary

    Trả lời

    29

    này được diễn tả trong .NET 4. 5 Trang tương thích ứng dụng trên MSDN: http://msdn.microsoft.com/en-us/library/hh367887.aspx. Hosting điều khiển quản lý bên trong trình duyệt IE không còn được hỗ trợ ra khỏi hộp (xem một nửa chiều xuống dưới "ứng dụng web"):

    Tính năng: Managed trình duyệt lưu trữ điều khiển từ .NET Framework 1.1 và 2.0

    Thay đổi: Lưu trữ các điều khiển này bị chặn trong Internet Explorer.

    Tác động: Internet Explorer sẽ không khởi chạy ứng dụng sử dụng các điều khiển lưu trữ được quản lý. Các hành vi trước đó có thể được phục hồi bằng cách thiết lập giá trị EnableLegacyIEHosting của registry subkey HKLM/SOFTWARE/MICROSOFT/.NETFramework để 1.

    Thật không may, thông tin về các khóa registry dường như là không đầy đủ và sai:

    • Cài đặt này thực sự được gọi là "EnableIEHosting".

    • Nó phải được bố trí hoặc trong HKCU Hive: HKCU \ SOFTWARE \ Microsoft \ .NETFramework

    • hoặc hive HKLM, nhưng dưới những con đường khác nhau, tùy thuộc vào 32/loại 64bit của Windows:
      • Hệ thống 32 bit: HKLM \ SOFTWARE \ MICROSOFT \ .NETFramework
      • Hệ thống 64 bit: HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \.NETFramework

    này đã được thử nghiệm trên cả hai Windows Server 2008R2 và Windows 8.

    +1

    Cảm ơn! Tôi có thể thêm rằng "EnableIEHosting" phải là một DWord và không phải QWord hoặc chuỗi .. – Kipotlov

    +3

    Bạn vừa lưu công việc của tôi :-D – OnesimusUnbound

    +0

    Cảm ơn rất nhiều! Tôi đã tìm thấy câu trả lời này ở một nơi khác, nhưng nâng cấp lên cửa sổ 8.1 và IE 11 dường như đã loại bỏ điều này khỏi sổ đăng ký của tôi. Có thể vẫn còn dễ dàng hơn để di chuyển sang Silverlight 5 và khập khiễng cùng với điều đó một chút trước khi công nghệ đã bị kết án tử hình tiếp theo được cung cấp các khả năng mà chúng ta cần =) – ps2goat

    Các vấn đề liên quan