2012-09-18 34 views
5

Tôi có một lỗi lạ trên máy tính của tôi, tôi có một tập tin .browser trong app_browser của ứng dụng của tôi và nó có những dòng sau:Trình duyệt hoặc gateway phần tử với ID 'Safari1Plus' không thể được tìm thấy

browsers> 
<!-- Disable the Menu Adapter for the Safari/Chrome browser--> 
<browser refID="Safari1Plus"> 
    <controlAdapters> 
     <adapter controlType="System.Web.UI.WebControls.Menu" 
         adapterType="" /> 
    </controlAdapters> 
</browser> 

Khi tôi cố gắng tải ứng dụng, tôi nhận được lỗi trong chủ đề nhưng không có đồng nghiệp nào của tôi (Tất cả chúng tôi đều sử dụng cùng một cơ sở mã) nhận được.

Tôi có một bản năng rằng lỗi được liên kết với IIS và tôi đã dành cả ngày cố gắng để có được đầu của tôi xung quanh nó để không thành công. Để thực hiện công việc này trong khi chờ đợi, tôi đã thay thế safari1plus theo mặc định, nhưng vấn đề về lớp phủ là tôi có chế độ xem lưới trên một trong các trang của tôi không hiển thị bất kỳ thứ gì trên máy cục bộ của tôi và nó hoạt động trên máy devs khác. Tôi không chắc chắn lý do tại sao hoặc nguyên nhân của điều này nhưng có vẻ như nó là một vấn đề dựa trên cấu hình và có thể một hoặc hai người đã phải đối phó với điều này.

Bất kỳ ai có ý tưởng đều được chào đón.

Rõ ràng hệ điều hành là Win 7 64 bit, với VS2010 Professional và IIS7.

cũng tôi đã kiểm tra nội dung của Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ Trình duyệt và Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ Trình duyệt và cũng trên Framework64 Dir và tất cả trông giống nhau (so với máy devs khác)

Rất cám ơn

Trả lời

3

Như tôi đã nghi ngờ đây là một vấn đề IIS và tôi vô tình giải quyết nó bằng cách kiểm tra tất cả các thiết lập của tất cả các ứng dụng web. Ứng dụng của tôi có 7 ứng dụng chia sẻ cùng một Lớp dữ liệu.

Cách tôi giải quyết nó để đảm bảo rằng tất cả các ứng dụng sử dụng ASP.Net v2.0 tích hợp hồ bơi như hồ bơi ứng dụng, rõ ràng điều này không có ý nghĩa, nhưng đó là những gì làm việc cho tôi.

9

Bạn nên tra cứu chính xác refId trong các tệp định nghĩa trình duyệt tương ứng có tại <windir>\Microsoft.NET\Framework[64]\<ver>\CONFIG\Browsers.

Đối với .NET 4.0, refIdWebKit và không Safari1Plus.

+0

@ClaytonGulick: cảm ơn vì đã chỉ ra điều đó. Tôi đã chỉnh sửa câu trả lời để bạn có thể xóa nhận xét của mình ngay bây giờ. – Oliver

0

Trong mi PC C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ Trình duyệt \ safari.browser dòng cho safari là

<browser id="Safari3Plus" parentID="Safari"> 

sau đó tôi chỉ cần thay đổi <browser refID="safar1plus">-<browser refID="safari3plus"> trong BrowserFile .browser trong App_Browsers trên dự án web và nó hoạt động !!!

0

Vâng, Điều này là do định nghĩa trình duyệt kế thừa từ các định nghĩa đã tồn tại trên .NET framework v2 và không còn tồn tại trên v4.

Xóa tệp định nghĩa trình duyệt trong thư mục \ App_Browsers.

Hoặc

Đảm bảo rằng tất cả các ứng dụng đều sử dụng hồ bơi tích hợp ASP.Net v2.0 làm hồ bơi ứng dụng.

0

Tôi đã gặp phải sự cố tương tự khi cố gắng chạy ứng dụng nền tảng chia sẻ 2010 trong máy tính Windows 10.

tôi quyết định bằng cách sau:

  1. trong IIS> Application Pool> Chọn cần hồ bơi ứng dụng> nhấp chuột phải> Basic Cài đặt> Thay đổi "Net CLR Version" để "v2.0.50727" và lưu lại.
  2. Đi tới Sites> chọn trang web> Nhấp đúp vào "Xác thực"> Bật xác thực cơ bản .

Điều tương tự cũng phù hợp với bất kỳ ứng dụng asp.net nào dự kiến ​​phiên bản 2.0 là phiên bản đích.

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