2014-04-24 21 views
5

Tôi đã sau ra khỏi gói ngày trong NuGet:Không thể cập nhật NuGet gói "Microsoft ASP.NET MVC" từ phiên bản 4.0.20710.0 để 5.1.2

enter image description here

Tuy nhiên, khi tôi bấm vào nút Cập nhật, tôi nhận được lỗi sau:

Lỗi: Cập nhật 'Microsoft.AspNet.Mvc 4.0.20710.0' thành 'Microsoft.AspNet.Mvc 5.1.2' không thành công.

Unable to find a version of 'AspNetMvc' that is compatible with 'Microsoft.AspNet.Mvc 5.1.2'.

Điều này xảy ra trên cả hai dự án có sử dụng gói này:

enter image description here

Tôi đang chạy trên .NET 4.5 framework trên cả hai dự án. Có bất cứ điều gì tôi có thể làm để nâng cấp gói này, hoặc là nó chỉ không tương thích với 4.5, hoặc tôi nên sử dụng một gói NuGet khác nhau bây giờ?

Trả lời

2

Theo như tôi có thể biết, nâng cấp lên 4.5.1 đã không thực sự khắc phục được sự cố. Trong thực tế, tôi đã có thể sửa chữa nó trong khi rời khỏi khung mục tiêu đến 4.5.

Đây là ma thuật đen mà tôi đã thực hiện có vẻ như sửa chữa nó. Trước tiên, gỡ cài đặt 3 thư viện MVC cũ (như được đề xuất in this comment), cài đặt lại các thư viện mới, xây dựng lại. Ít nhất cho phần này tôi có thể làm điều đó trong giao diện người dùng NuGet Manage Packages, nơi cập nhật không thành công ở cùng một nơi. Tại thời điểm này NuGet rất vui, bạn có thể biên dịch, nhưng ứng dụng của bạn sẽ không thực sự hoạt động.

Tiếp theo, hãy đảm bảo theo dõi hoàn toàn mỗi bước trong Upgrade ASP.NET 4 document referenced in the other comment. Khi tôi vô tình bỏ qua ngay cả một bước, tôi đã nhận được những lỗi lạ, không trực quan (hiển nhiên khi nhìn lại). Ví dụ, bạn phải cập nhật hai tệp Web.config riêng biệt, gốc và một trong thư mục Views. Bạn phải tìm số phiên bản cũ và thay đổi chúng theo cách thủ công trong đó, trong đó Web.config gốc đôi khi được tự động sửa cho bạn. Nếu không tôi sẽ thấy các lỗi đáng sợ như "quy tắc bảo mật thừa kế vi phạm theo loại System.Web.WebPages.Razor.WebPageRazorHost" và như vậy. Tôi nên sao chép từng thông báo lỗi cho áp phích mà tôi cho là, nhưng vấn đề là vì mọi lỗi tôi muốn quay lại hướng dẫn nâng cấp đó, hãy kiểm tra các bước, nhận ra tôi đã bỏ lỡ, sửa lỗi và sau đó nhận lỗi mới cho đến khi tất cả đã biến mất.

Có tin vui. Trong trường hợp của tôi ít nhất, mặc dù tất cả các cảnh báo nghiêm trọng mà bạn phải đi tìm thấy không tương thích, phần còn lại của ứng dụng làm việc như trước mà không có bất kỳ thay đổi.

2

MVC 5.1 được xây dựng trên .NET 4.5.1. Đó là vấn đề đầu tiên của bạn. Bạn cần phải thay đổi khung đích của bạn thành "Khuôn khổ .NET 4.5.1" trong menu ngữ cảnh của dự án> Thuộc tính.

Nếu điều đó không có tác dụng, bạn có thể muốn gỡ cài đặt gói MVC và cài đặt lại.

Trải nghiệm của tôi đã được nâng cấp từ các phiên bản chính có thể là một nỗi đau và sự chú ý của bạn đến từng chi tiết - đặc biệt khi thực hiện thay đổi đối với web.config- là tối quan trọng. Bạn có thể kiểm tra hướng dẫn đi từ 4 đến 5 tại đây và điều chỉnh cho phù hợp với 5.1: http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2

Tùy thuộc vào độ phức tạp của dự án, bạn có thể dễ dàng chuyển các tệp mã hiện tại của mình sang dự án mới được tạo bằng cách sử dụng 4.5.1 Mẫu Visual Studio MVC.

+0

Tuyệt vời! Chúng tôi vừa nâng cấp từ .NET 4.0 lên 4.5, vì vậy tôi sẽ thử chuyển sang 4.5.1 và xem điều đó có giúp ích gì không. –

+1

Cảm ơn! Nhắm mục tiêu 4.5.1 và gỡ bỏ và cài đặt lại gói đã khắc phục sự cố. Bây giờ, tôi nhận được lỗi thời gian chạy khi tôi tải trang web nhưng tôi đoán đó là một vấn đề riêng biệt. Đánh dấu đây là câu trả lời. –

9

Thay đổi khung dự án đầu tiên thành 4.5.1

Mở NuGet quản lý gói giao diện điều khiển và

  1. Uninstall-Package AspNetMvc
  2. Uninstall-Package Microsoft.AspNet.Mvc
  3. Install-Package Microsoft.AspNet.Mvc

Điều này làm việc cho tôi.

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