2012-06-28 37 views
21

Tôi đã có vấn đề này trước, nhưng sau đó tất cả tôi cần làm là để làm sạch và xây dựng lại dự án. Bây giờ dường như không làm việc nữa. Khi tôi bắt đầu trình gỡ rối dự án Asp.Net MVC3 của tôi, trang web được mở trong trình duyệt của tôi. Thay vì nhận được trang đầu tiên thể hiện trong trình duyệt, tôi nhận được lỗi nàyKhông thể tải tập tin hoặc lắp ráp 'System.Web.WebPages'

Parser Error Message: Could not load file or assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 

Source Error: 
Line 31:   <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
Line 32:   <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
Line 33:   <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
Line 34:  </assemblies> 
Line 35:  </compilation> 

tôi dường như không thể tìm ra cách để giải quyết việc này. Bất kỳ ý tưởng?

+1

sạch, đóng studio, mở dự án một lần nữa. – t3hn00b

+0

Có phải System.Web.WebPages trong tài liệu tham khảo của bạn trong dự án không? – Iain

+2

Đúng vậy! Không hoạt động để làm sạch và đóng –

Trả lời

17

Tôi gặp sự cố này. Có lẽ nó xảy ra khi tôi cài đặt .NET MVC v4 trên đỉnh MVC v3, không chắc chắn.

Dù sao tôi đã xóa tham chiếu System.Web.WebPages khỏi dự án của tôi. Sau đó, trong tab Add Reference dialog .NET có hai tham chiếu System.Web.WebPages được liệt kê, một phiên bản 1.0.0.0 và 2.0.0.0. Tôi đã chắc chắn thêm phiên bản 1.0.0.0 như là một trong số đó bị thiếu.

enter image description here

+0

Cảm ơn các bạn, điều này đã dẫn đến giải pháp. Trong trường hợp của tôi, toàn bộ DLL bị thiếu từ máy chủ của chúng tôi .. Dựa trên kinh nghiệm của tôi, WebPages 1.0 được cài đặt cùng với MVC3 (nếu bạn không có nó trước đó), trong khi có một gói riêng cho WebPages 2.0 trong cài đặt MVC4 . Đảm bảo bạn cài đặt đúng phiên bản được tham chiếu trong web.config của bạn. – army

+1

Giải pháp này làm việc cho tôi. Tôi gặp phải vấn đề khi tôi thay đổi Khung mục tiêu từ 3.5 sang 4.0. VS 2010 đã cố gắng để có ích và nâng cấp ASP.NET MVC từ 2.0 lên 4.0, điều này gây ra rất nhiều đau đầu. Chỉ cần xóa tham chiếu System.Web.Mvc và thêm phiên bản 2 trở lại đã khắc phục sự cố. – jason

4

Tôi gãi đầu cho một thời gian qua vấn đề này khi tôi đã có nó. Cuối cùng tôi nhận thấy rằng tôi đã có phần sau trong phần "thời gian chạy" của web.config của tôi.

<runtime> 
. . . 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
. . . 
</runtime> 

Như bạn có thể thấy, đây đề cập đến phiên bản 2 của lắp ráp, mà không phù hợp với đoạn mã sau đó bạn cũng có trong system.web/biên dịch/lắp ráp phần của web.config.

<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

Phiên bản thực tế được tham chiếu trong Tham chiếu cho dự án thực sự là v1.0.0.0, vì vậy tôi đã thay đổi đoạn mã đầu tiên ở trên thành điều sau, đã khắc phục sự cố ngay lập tức. Tôi không chắc làm thế nào sai lầm đã có ở nơi đầu tiên.

<runtime> 
. . . 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" /> 
     </dependentAssembly> 
. . . 
</runtime> 
+0

Cảm ơn, điều này đã khắc phục sự cố cho tôi. Tham chiếu chứa v2.0, web.config chứa v1.0. – Carra

9

Giải pháp cho tôi là truy cập máy chủ của tôi và cài đặt Trang web phiên bản 2 trên máy chủ.

Đi tới http://www.microsoft.com/en-us/download/details.aspx?id=34600

Và tải xuống gói và chạy nó.

Nó đơn giản như vậy.

+0

Làm việc như một sự quyến rũ. Cảm ơn bạn –

1

Tôi có vấn đề này, tất cả tôi phải làm là thay đổi thuộc tính của tài liệu tham khảo bên ngoài: Phiên bản cụ thể từ Đúng để False

Sau đó dự án xây dựng lại.

3

Làm việc cho tôi:

  1. Tools -> Manager NuGet Package -> Manage NuGet Packages cho Giải pháp

  2. Duyệt

  3. Tìm kiếm "Microsoft.AspNet.WebPages"

  4. Đảm bảo tất cả các dự án trong giải pháp đều có phiên bản mới nhất.

0

Tôi đã tìm nạp cùng một sự cố cho MVC5.

Lúc đầu, hãy kiểm tra System.Web.WebPages lắp ráp từ Tham chiếu dự án của bạn.

  1. Nếu không tìm thấy, sau đó thêm bằng cách chọn thêm tham chiếu từ dự án Tham chiếu.
  2. Nếu được tìm thấy, mọi phiên bản séc từ Thuộc tính của tham chiếu đó. Sau đó, kiểm tra dự án của bạn web.config tệp. Có thể hai phiên bản này không khớp.

Đối với tôi, tôi thêm tham chiếu phiên bản 2.0.0.0. nhưng tập tin web.config của tôi tham khảo nó từ

<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />

và tôi thay đổi nó để

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />

nó làm việc cho tôi trong MVC5.

Vui lòng kiểm tra phần được đánh dấu trong phần đính kèm của tôi để biết thêm thông tin.

System.Web.WebPages

0

Tới menu: "Tools/NuGet Package Manager/Package Manager Console"

chạy lệnh install-package Microsoft.AspNet.WebPages

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