Tôi có một chút vấn đề kỳ lạ.
Tôi đã phát triển một ứng dụng với MVC 4 và API Web mới và nó hoạt động tốt tại địa phương. Tôi đã cài đặt MVC4 trên máy chủ và triển khai ứng dụng. Bây giờ tôi gặp lỗi sau:
Không thể tải tệp hoặc lắp ráp 'System.Net.Http, Phiên bản = 2.0.0.0, Văn hóa = trung lập, PublicKeyToken = 31bf3856ad364e35' hoặc một trong các phụ thuộc của nó. Định nghĩa tệp kê khai của hội đồng định vị không khớp với tham chiếu hợp ngữ. (Ngoại lệ từ HRESULT: 0x80131040)
Mô tả: Một ngoại lệ chưa được xử lý đã xảy ra trong quá trình thực hiện yêu cầu web hiện tại. Vui lòng xem lại dấu vết ngăn xếp để biết thêm thông tin về lỗi và lỗi bắt nguồn từ đâu
Thật buồn cười, phiên bản System.Net.Http mà tôi có cục bộ trong thư mục gói của mình hoặc trong thư mục ASP.NET MVC 4 \ Assemblies là 1.0.0.0. Tôi thực sự đã xóa tham chiếu đến System.Net.Http khỏi dự án của mình, nhưng tôi vẫn nhận được thông báo tương tự. Tôi hơi bối rối về việc nó lấy tham chiếu 2.0.0.0 từ đâu và tại sao nó sẽ hoạt động cục bộ nhưng không hoạt động trên máy chủ.
Xem xét các phụ thuộc nuget:
ASP.NET WEb API Core Libraries (Beta) phụ thuộc vào System.Net.Http.Formatting.
Và System.Net.Http.Formatting phụ thuộc vào System.Net.Http.
Tôi đoán đó là nguyên nhân của điều này. Nhưng tôi đã cài đặt Phiên bản 2.0.20126.16343 của gói này, chỉ là dll bên trong có phiên bản 1.0.0.0
Tui bỏ lỡ điều gì vậy?
CẬP NHẬT:
Đây là một ứng dụng con của một ứng dụng ASP.NET khác, nhưng ứng dụng còn lại vẫn dựa trên WebForms. Vì vậy, một cái gì đó đang trở nên lộn xộn. Nhưng nếu tôi làm sạch phần lắp ráp trong web.config nếu không tìm thấy chính ứng dụng đó nữa.