2011-01-24 26 views
14

Tôi Tạo mới dự án ASP.NET MVC 3 RTM và Thay thế tài liệu tham khảo cho sử dụng ASP.NET MVC 3 Source codeLỗi này trong dự án ASP.NET MVC 3 RTM là gì?

nhưng khi tôi chạy dự án một lần nữa, có được ngoại lệ này:

[A]System.Web.WebPages.Razor.Configuration.HostSection cannot be cast to [B]System.Web.WebPages.Razor.Configuration.HostSection. Type A originates from 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_1.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll'. Type B originates from 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' in the context 'Default' at location 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\2505c7ee\369315c5\assembly\dl3\f7bae428\d03eeed8_85bbcb01\System.Web.WebPages.Razor.DLL'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Lỗi

Nguồn:

Line 106:  internal static RazorWebSectionGroup GetRazorSection(string virtualPath) { 
Line 107:   // Get the individual sections (we can only use GetSection in medium trust) and then reconstruct the section group 
Line 108:   return new RazorWebSectionGroup() { 
Line 109:    Host = (HostSection)WebConfigurationManager.GetSection(HostSection.SectionName, virtualPath), 
Line 110:    Pages = (RazorPagesSection)WebConfigurationManager.GetSection(RazorPagesSection.SectionName, virtualPath) 

Source File: E:\GreenTour\webpages\src\System.Web.WebPages.Razor\WebRazorHostFactory.cs Line: 108

Trả lời

13

Lỗi này có nghĩa là một phần của ứng dụng của bạn đang được biên dịch bằng cách sử dụng bản sao mã nguồn của riêng bạn làm tài liệu tham khảo trong khi thời gian chạy nó tìm kiếm các bộ tham chiếu trong GAC. Hãy chắc chắn rằng bạn loại bỏ tất cả các tham chiếu đến phiên bản GACed của MVC 3 hội đồng. Điều này bao gồm một số thứ trong tệp web.config của bạn sử dụng mã thông báo khóa công khai này: 31bf3856ad364e35.

0

Mặc dù chuỗi trên hữu ích. Tôi không thể có được những thứ làm việc cho đến khi tôi tạo ra một ứng dụng MVC 4 'cơ bản' 'cơ bản và sau đó so sánh các web.configs để tìm bất kỳ thay đổi nào.

13

Tôi vừa gặp vấn đề tương tự trong khi nâng cấp ứng dụng của mình, sự cố nằm trong tệp web.config nằm trong thư mục lượt xem, tôi đã sao chép một cách mù quáng từ ứng dụng cũ (xấu của tôi).

Giải pháp của tôi, tạo ứng dụng MVC 4 mới và sao chép web.config từ thư mục lượt xem vào ứng dụng của bạn có sự cố.

Hope this helps

+2

Cảm ơn - nhận xét của bạn "tệp web.config nằm trong thư mục lượt xem" vừa cho tôi một "ah ha!" chốc lát. – DaveHogan

+0

Điều này. Tôi quên rằng có các tệp web.config khác nằm trong thư mục Views (và các thư mục con). –

+0

+1, giải pháp của bạn hoạt động như nét duyên dáng .. :) – dotNETbeginner

0

Tôi cố định đây không phải bằng cách loại bỏ tất cả các tài liệu tham khảo để lắp ráp với khóa công khai của 31bf3856ad364e35 như thế này bao gồm rất nhiều cụm không thích hợp.

Thay vào đó nó cần được cố định bằng cách cập nhật tất cả các cấu hình tham chiếu

  • System.Web.Mvc đến 4
  • System.Web.WebPages đến 2
  • System.Web.WebPages.Razor đến 2

Đảm bảo cập nhật tất cả các tệp web.configs, bao gồm cả các thư mục trong thư mục Xem.

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