13

Tôi nhận được lỗi sau bên dưới sau khi mở và biên dịch của tôi VS 2010 2010. net 4.0 MVC3 dự án trong VS 2012 RTM. Làm thế nào tôi có thể sửa lỗi này mà không nâng cấp lên MVC4?Lắp ráp 'SomeAssembly, sử dụng' System.Web.Mvc, Phiên bản = 4.0.0.0, có phiên bản cao hơn so với phiên bản được tham chiếu 'System.Web.Mvc, Phiên bản 3.0.0.0

Tôi đã cài đặt VS 2010 và VS 2012 cạnh nhau.

Lỗi 1 hội 'SomeAssembly, Version = 1.0.0.0, Culture = trung tính, PublicKeyToken = null' sử dụng 'System.Web.Mvc, Version = 4.0.0.0, Culture = trung tính, PublicKeyToken = 31bf3856ad364e35' trong đó có một phiên bản cao hơn lắp ráp tham chiếu 'System.Web.Mvc, Version = 3.0.0.0, Culture = trung tính, PublicKeyToken = 31bf3856ad364e35'

+0

Related: http://stackoverflow.com/questions/10402005 –

+0

http://forums.asp.net/t/1800348.aspx/1 –

+0

http: //stackoverflow.com/questions/5163773 ... Tất cả về cơ bản cùng một vấn đề. –

Trả lời

7

tới Tài liệu tham khảo, Kiểm tra phiên bản hiện tại của System.Web.Mvc (tôi đoán nó vẫn trỏ đến mvc3). Loại bỏ chúng và thêm tài liệu tham khảo một lần nữa, nhưng lần này System.Web.Mvc 4.0 ..! Nếu bạn đang sử dụng nhiều dự án trong một giải pháp duy nhất thì .. Ví dụ: bạn có hai dự án ProjA (MVC4) và ProjB (Vẫn còn trong MVC3), nếu ProjA có tham chiếu của ProjB hoặc sử dụng ProjB thì rất có khả năng nó sẽ đưa ra lỗi được đề cập ở trên. Bạn có thể phải thay đổi các phiên bản MVC trong cả hai dự án.

+0

Nó theo mặc định chuyển nó sang mvc 4.0 dll, và tôi đã tự thay đổi nó trong cả hai tệp csproj thành 4.0 và trong web.config. Không giúp được gì. – kyleb

+0

Điều này đã làm cho tôi. Thông báo này khó hiểu và không cho bạn biết lỗi nằm trong dự án được tham chiếu. – Chris

+0

Điều này làm việc cho tôi là tốt, tôi nâng cấp ASP.NET MVC của tôi với Nuget và nó làm việc. – anansharm

11

Kiểm tra web.config của bạn. system.web/assemblies có phiên bản 3.0 mặc dù dự án của bạn tham chiếu 4.0.

Đó là trường hợp của tôi.

21

Một điều cần kiểm tra là bạn không có dự án thử nghiệm vẫn tham chiếu đến lắp ráp mvc3 trong giải pháp. Đó là những gì đã cho tôi.

+1

Đây là trường hợp của tôi, tài liệu tham khảo đã không được cập nhật vì nó đã được thêm bằng tay, một cài đặt của gói với Nuget vào dự án thử nghiệm cố định nó. Cảm ơn –

+0

Ngoài ra vấn đề của tôi là tốt. – Matt

1

Nếu bạn đang sử dụng Visual Studio, bạn có thể kiểm tra các bản cập nhật cho gói NuGet của bạn, bản cập nhật này mà không cần phải làm rối tung bằng tay với Web.config. Chọn các công cụ -> Trình quản lý gói thư viện -> Quản lý các gói NuGet cho giải pháp. Kiểm tra xem bạn có đang sử dụng phiên bản cập nhật nhất của MVC hay không bằng cách chọn các cập nhật dọc theo bảng điều khiển bên trái, sau đó trong danh sách các bản cập nhật, hãy tìm MVC và nhấp vào cập nhật. Sau khi cập nhật xong, hãy nhấp vào xây dựng và xây dựng giải pháp. Đây là cách tôi giải quyết vấn đề của tôi mà tôi đã có giữa gói MVC và Fluent Validation NuGet. Và nó sẽ tự động cập nhật Web.config.

0

Sử dụng asp.net 4.5 và gặp sự cố tương tự. Nhấp chuột phải vào Tham chiếu và chuyển đến Quản lý gói NuGet. Kiểm tra xem có bản cập nhật cho gói có phiên bản lỗi thời hay không. Có thể yêu cầu ghi đè lên các tệp nhưng điều đó vẫn ổn.

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