7

Các chuyến đi kỳ lạ với các dự án VS2013 của tôi. Gần đây tôi đã nâng cấp một trong các nhánh dự án của tôi từ .NET 4.0 lên 4.5.1 và sử dụng trình quản lý gói NuGet để cài đặt MVC 5 với Razor để tôi có thể có một lai WebForms/MVC. Cho đến nay, nó hoạt động tốt và tôi có thể sử dụng cả WebForms và MVC.Không thể xác định phiên bản nào của các trang web ASP.NET sử dụng

Tuy nhiên, tất cả các nhánh khác của cùng một dự án (ví dụ như chi nhánh sản xuất) dường như bị hỏng khi chúng không thay đổi. Khi tôi chạy một trong những dự án khác, tôi nhận được:

Could not determine which version of ASP.NET Web Pages to use.

Sau khi một số nhìn xung quanh, tôi thấy một người nào đó khuyên bạn nên đặt này trong appSettings web.config:

<add key="webpages:Version" value="2.0.0.0"/>

Bây giờ khi tôi chạy dự án, tôi có được điều này:

HTTP Error 404.0 - Not Found

gì ELS e là số lẻ là các URL trỏ đến này:

http://localhost:53305/Account/Login?ReturnUrl=%2findex.aspx

Tôi không có ý tưởng như thế nào làm cho sự thay đổi để MVC 5 trong một chi nhánh đoạn mã khác nhau có thể ảnh hưởng các dự án khác của tôi mà vẫn còn WebForms thẳng bằng cách sử dụng 4,0 khuôn khổ.

Chỉnh sửa: Có thể đáng lưu ý rằng các dự án WebForms hoàn toàn riêng biệt khác của tôi vẫn hoạt động. Chỉ có các chi nhánh khác của dự án cụ thể này dường như bị hỏng. Nó gần như là nếu có một số tập tin cấu hình chung chia sẻ giữa tất cả các chi nhánh đó đã được sửa đổi mà kết thúc với sức chứa chỉ các chi nhánh đã được nâng cấp lên MVC 5.

Sửa: Trong trường hợp như thế nào tôi đã cài đặt gói NuGet là trong câu hỏi, đây là những gì tôi đã làm:

  • gói NuGet phải nhấp dự án của tôi và chọn Manage
  • Clicked trực tuyến trong khung bên trái và chọn Microsoft ASP.NET MVC và nhấp Install
  • nó đã làm bất cứ điều gì đã làm và cài đặt nó cho dự án đó.

Tôi chưa cài đặt gói này trong các chi nhánh khác của mình. Nó chỉ là một nhánh duy nhất. Bằng cách nào đó, nó ảnh hưởng đến tất cả các chi nhánh và tôi không biết tại sao.

+0

Bạn đã sử dụng trình quản lý gói nuget của mình để cập nhật lên MVC 5 hay bạn đã cài đặt nó chưa? Thiết lập nuget của bạn có đến vị trí được chia sẻ không? Nếu có, thì bản cập nhật sẽ gỡ cài đặt phiên bản cũ và cài đặt phiên bản mới. Nếu các nhánh của bạn sau đó phụ thuộc vào phiên bản cũ, nó có thể sẽ bị phá vỡ. Chỉ là một gợi ý. – Gjohn

+0

@Gjohn Xem chỉnh sửa ở cuối câu hỏi. Tôi cũng không biết nếu nó được cài đặt ở vị trí chia sẻ và không biết làm thế nào để con số đó ra. – oscilatingcretin

+0

kiểm tra vị trí của tài liệu tham khảo bạn đã thêm bằng Nuget. Thông thường, chúng được ghi vào thư mục gói nhưng bạn có thể cấu hình Nuget để ghi vào thư mục bạn chọn nếu bạn đang chia sẻ thư viện.Thông thường nếu nó chỉ là viết thư cho một thư mục gói đó là một phần của dự án của bạn, nó sẽ chỉ chứa các gói bạn đã cài đặt cho dự án đó. Nếu nó là một vị trí chia sẻ thì nó nên chứa khá nhiều gói đơn mà các dự án khác nhau sử dụng. Ngoài ra, hãy kiểm tra các tham chiếu của bạn để xem liệu có các tham chiếu bị hỏng trong các nhánh dự án không hoạt động hay không. – Gjohn

Trả lời

1

Tôi đoán là bây giờ bạn có rất nhiều dự án .net v2.0 và một dự án .net v4.5.1 trong cùng một giải pháp. Cấu hình IIS Express hoặc cấu hình IIS hiện đang sử dụng một nhóm ứng dụng v4.5.1

+0

Có lẽ điều này có thể làm hỏng tất cả các dự án trong nhánh và thiết lập phiên bản xây dựng thành .Net 4.5.1 –

+0

Tôi đã nâng cấp tất cả các dự án lên 4.5 và nó đã sửa tất cả các vấn đề. – JoshYates1980

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