2011-11-10 28 views
42

thể trùng lặp:
Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitivekhông được công nhận thuộc tính 'targetframework'

Trước hết, hãy để tôi nói rằng Tôi biết rằng câu hỏi này đã được hỏi một vài lần trên trang web này - nhưng các câu trả lời cho tất cả những điều này không giải quyết được vấn đề của tôi.

tôi nhìn thấy các vấn đề sau đây khi tôi cố gắng thêm một handler quản lý mới trong IIS7:

thuộc tính không được nhận 'targetFramework'. Lưu ý rằng tên thuộc tính phân biệt chữ hoa chữ thường.

Môi trường là Windows Server Enterprise 2008 SP1 với IIS7 được cài đặt.

Ứng dụng của tôi đang sử dụng .NET 4.0. Khuôn khổ .NET đã được cài đặt sau khi IIS:

Tôi đã thử/kiểm tra như sau:

  • ứng dụng hồ bơi của tôi đang sử dụng .NET 4.0 (Tôi có một phiên bản của .NET 4.0 được cài đặt, không có của phiên bản beta vv .)
  • Đảm bảo .NET 4.0 được đăng ký đúng với IIS bằng cách sử dụng 'aspnet_regiis.exe -iru'.
  • Tái chế hồ bơi ứng dụng, khởi động lại máy.
  • Gỡ cài đặt hoàn toàn .NET 4.0, sau đó cài đặt lại.
  • Đã xóa thuộc tính 'targetFramework' - điều này chỉ gây ra sự cố ở nơi khác.

Đối với tôi có vẻ như IIS vẫn đang tham chiếu phiên bản .NET trước đó, mặc dù hồ bơi ứng dụng của tôi trong IIS cho tôi biết họ đang sử dụng .NET 4.0.

Trang web của tôi tải tốt, nhưng tôi không thể thiết lập trình xử lý hình ảnh tùy chỉnh của mình do sự cố này.

Tôi rất cảm kích mọi lời khuyên.

Cảm ơn.

CẬP NHẬT

Đây là điên .. Tôi đã hoàn toàn xây dựng lại bởi môi trường từ đầu:

  • Tải 'Windows Server Enterprise mà không Hyper V SP1' từ MSDN.
  • Cài đặt .NET 4.0
  • Cài đặt ASP.NET MVC 3
  • Thêm vai trò của Web Server '- đảm bảo App bơi đang sử dụng .NET 4.0
  • Triển khai dự án của tôi

Các lỗi tương tự xảy ra khi tôi cố gắng thêm ánh xạ hanlder tùy chỉnh. Tôi đang làm một cái gì đó không chính xác/hoàn toàn ngu ngốc hoặc có một số vấn đề với IIS7 trong thiết lập này.IIS không nhận ra thuộc tính 'targetFramework' từ .NET 4.0, mặc dù nhóm ứng dụng của tôi được đặt để sử dụng .NET 4.0.

Nếu tôi sử dụng lệnh 'aspnet_regiis -lv', nó cho tôi biết rằng chỉ .NET 4 được đăng ký với IIS.

+0

Bạn chưa đề cập cố gắng giải pháp này: http://stackoverflow.com/questions/5420094/unrecognized-attribute-targetframework-in- 4-0-site-with-2-0-sub-folder – Rob

+0

Tôi đã xem xét điều đó - phiên bản IIS của tôi là 7 và Thư mục ảo chắc chắn sử dụng .NET 4.0 (theo IIS ít nhất). Tại thời điểm này tôi đang xem xét xây dựng lại toàn bộ môi trường từ đầu. –

+0

Số phiên bản .NET chính xác được hiển thị trong Hồ bơi Ứng dụng là gì? Có phải '4.0.21006.1'? Bạn cũng có thể hiển thị web.config của bạn trông như thế nào? –

Trả lời

62

Đăng ký khuôn khổ với IIS là những gì làm việc cho tôi:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i 
+1

Cảm ơn rất nhiều, nó cũng làm việc cho tôi. –

+4

Lưu ý '>' ở đó, tôi nhầm nó cho một đường dẫn hoàn chỉnh. –

+1

Tôi thực sự không hiểu tại sao điều này cần thiết khi bạn cài đặt IIS với asp.net như một tính năng được chọn:/ – Ortund

29

Bạn có thiết lập trang web của mình dưới nút trang web 'Trang web mặc định' hoặc bạn đã tạo trang web mới trong IIS chưa? Nếu bạn đã tạo một trang web mới, hãy thử truy cập 'Trang Web Mặc định' và thay đổi nhóm ứng dụng của nó từ 'DefaulAppPool' thành 'Asp.Net v4.0.' Tôi biết 'Trang Web Mặc Định' không có liên quan gì đến trang web của bạn, nhưng tôi đã đọc điều đó trong một số tình huống đã giúp giải quyết vấn đề này. Ngoài ra, để xử lý hình ảnh tùy chỉnh của bạn hoạt động, hãy thử sử dụng trình xử lý HTTP không có cấu hình, với phần mở rộng tệp .ashx. Bằng cách này bạn có thể xử lý hình ảnh của bạn làm việc (cho đến khi bạn giải quyết vấn đề này) mà không cần phải đăng ký nó trong IIS.

+0

Đó là một trang riêng biệt trong IIS đang chạy trên một cổng khác. Trang web Mặc định của tôi đang chạy trong cùng một Hồ bơi Ứng dụng .NET 4.0. Một điều tôi chỉ nhận thấy là dưới IIS -> .NET Compilation -> General -> Assemblies, tất cả các hội đồng dường như là điểm đến phiên bản 2.0 –

+1

Tôi cũng có hầu hết IIS >>. NET Compilation >> General >> Assemblies trỏ đến phiên bản 2.0, trong khi một vài người khác đang trỏ tới 3.0 và 3.5. Điều này chỉ xác định phiên bản .net những assembly được xây dựng với. Tôi không chắc chắn điều này có liên quan đến vấn đề của bạn hay không. – bbeny

+0

Cảm ơn bạn! Điều này làm việc cho tôi. Hoàn toàn điên rồ. Đây có phải là một lỗi? –

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