Tôi đang nhận được lỗi
Không thể tải loại MvcApplication
khi tôi cố gắng chạy trang web của tôi.
Làm thế nào để sửa nó?
Tôi đang nhận được lỗi
Không thể tải loại MvcApplication
khi tôi cố gắng chạy trang web của tôi.
Làm thế nào để sửa nó?
Câu trả lời:
Nghe có vẻ ngu ngốc, đã thử mọi thứ và nó không hoạt động và cuối cùng đã khởi động lại VS2012 để thấy nó hoạt động trở lại.
-Đối với tôi, cách khắc phục là thay đổi đường dẫn đầu ra trong tab xây dựng. Tôi đã thay đổi đường dẫn đầu ra bin\
và lỗi đã biến mất.
-Một cách khắc phục khác có thể là bạn đã thiết lập dự án khởi động sai.
Tôi đã nhận được cùng một lỗi và cảm hứng làm mọi thứ được đề cập ở đây và những nơi khác không có gì làm việc. Hóa ra tôi đã sao chép mã nguồn của global.asax.cs từ một phiên bản trước của dự án có tên khác. Vì vậy, namespace Test
cần phải có namespace Test.WebUI
. Một sai lầm ngớ ngẩn tất nhiên và hơi xấu hổ khi viết điều này! Nhưng viết với hy vọng rằng một lỗi tương tự từ bất kỳ ai khác cũng có thể khiến anh ta kiểm tra khía cạnh tầm thường này.
Chỉ cần làm một hướng dẫn xây dựng trên giải pháp của bạn.
Nếu bạn đang sử dụng IIS cục bộ, hãy thử xóa đăng ký trang web trong trình quản lý IIS và sau đó tạo lại thủ công.
[Trích từ câu hỏi]
Nếu bạn gặp phải lỗi này: "Không thể tải loại MvcApplication", hãy xem đường dẫn đầu ra của dự án của bạn và đảm bảo rằng nó được đặt thành 'bin \'. Vấn đề là AspNetCompiler không thể tìm thấy các tệp nếu chúng không ở vị trí mặc định.
Một tác dụng phụ khác của việc thay đổi thư mục đầu ra là bạn sẽ không thể gỡ lỗi mã của mình và nó xuất hiện một thông báo nói rằng không thể tìm thấy thông tin hội.
bin
thành bin\Debug
và bin\Release
các tệp cũ vẫn còn trong bin
thư mục của tôi nên tôi không thấy bất kỳ vấn đề nào. Tất nhiên, nếu bạn thực hiện kiểm tra sạch sẽ và xây dựng các tệp này không tồn tại cho bạn để nó nổ tung.
Tôi đã có cùng một vấn đề và giải quyết nó với các bước dưới đây
Ahh điều này thật khó chịu.
Có lỗi này sau khi cắt điện và tôi trở lại dự án của mình.
Tôi đã thử khởi động lại VS. Tôi đã thử thiết lập đường dẫn đầu ra thành \ bin. Tôi đã kiểm tra không gian tên của tôi.
Nhưng những gì làm việc cho tôi là xây dựng lại giải pháp.
Giải pháp xây dựng lại !!!
Giải pháp của tôi: Bởi vì tôi đã tạo ra vấn đề! Tôi đã thay đổi không gian tên trong Global.asax.cs
Bạn cũng cần thay đổi giá trị thuộc tính Kế thừa trong Global.asax.
Kiểm tra mã đằng sau thông tin, được cung cấp trong global.asax. Họ nên trỏ chính xác đến lớp trong mã của nó phía sau.
mẫu global.asax:
<%@ Application Codebehind="Global.asax.cs" Inherits="MyApplicationNamespace.MyMvcApplication" Language="C#" %>
mã mẫu phía sau:
namespace MyApplicationNamespace
{
public class MyMvcApplication : System.Web.HttpApplication
{
protected void Application_Start( )
{
AreaRegistration.RegisterAllAreas( );
FilterConfig.RegisterGlobalFilters( GlobalFilters.Filters );
RouteConfig.RegisterRoutes( RouteTable.Routes );
BundleConfig.RegisterBundles( BundleTable.Bundles );
}
}
}
Điều này cũng có thể xảy ra trong khi chạy dự án trong studio trực quan nếu IIS Express của bạn có / đang lưu trữ một dự án cũ / khác nhau bằng cách sử dụng cùng một phép gán cổng.
Để khắc phục điều này, bạn có thể thay đổi gán cổng cho dự án này hoặc đóng IIS Express.
Nếu bạn đang lưu trữ trong IIS express và bạn mở dự án của mình ở hai địa điểm khác nhau, thì bạn có thể thấy lỗi này.
Giải pháp là đi đến Project/Properties/Web/Servers
và nhấp vào Create Virtual Directory
.
Giải pháp cho tôi là nhấp chuột phải vào dự án Mvc, chọn thuộc tính và nhấp vào Tạo thư mục ảo.
Một hộp thông báo hiện lên nói rằng dự án đã được ánh xạ vào thư mục sai (nó hiển thị thư mục cho một dự án TFS khác . Nó đã cho tùy chọn ánh xạ nó trở lại đúng thư mục.
Tôi đã có bin/
trong tab xây dựng của tôi. Tôi đã nhận global.asax từ một bản sao khác của dự án, nhưng điều đó đã không thành công.
Giải pháp cuối cùng có hiệu quả với tôi là xóa bin/
thư mục và tạo một thư mục trống mới có cùng tên.
Tôi biết đã có rất nhiều giải pháp cho vấn đề này rồi, nhưng tôi nghĩ tôi sẽ chỉ đề cập đến những gì đã giải quyết nó cho tôi.
Cấu hình của tôi đã được đặt thành Debug. Thay đổi nó thành Phát hành đã lừa tôi.
Tôi đã nhận được lỗi này bởi vì tôi đang chạy dự án mặc dù có một số lỗi thời gian biên dịch. Điều này tôi đã không thông báo.
Xóa nội dung của thư mục bin của trang web (sử dụng trình duyệt tệp cho việc này). Tái thiết.
Tôi đã rơi vào điều này. Tôi đã đọc và thử nghiệm tất cả các giải pháp có thể đã được đưa ra trước đó. Kiểm tra đường dẫn xây dựng, xây dựng, xây dựng lại, dọn dẹp, khởi động lại IIS và VS2015, cài đặt lại tất cả các gói nuget, biên dịch từng cái một, v.v., ...
Tôi đột nhiên nhớ rằng VS giữ một số tệp tạm thời ASP trong các thư mục hệ thống ... Tôi nghĩ rằng tôi nên thử nó, sau tất cả, điều đó có thể trở nên tồi tệ hơn. Vì vậy, tôi đã làm trống:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
Và tất cả đang hoạt động trở lại ... Thật kỳ lạ là vấn đề này có những giải pháp khả thi khác nhau ...
Tôi đã thấy điều này nhiều lần trong thập kỷ qua và chỉ cần có lại nó. Có nhiều vấn đề dẫn đến cùng một lỗi.
Một nguyên nhân là đổi tên tập tin. Nếu bạn đang làm việc với các tệp .cshtml, hãy kiểm tra tất cả các không gian tên trong các tệp đó và trong tệp Views \ web.config. Đối với các biểu mẫu web, đổi tên Default.aspx (các tệp .cs và trình thiết kế có liên quan sẽ tự động được đổi tên). Các cơ sở mã thay đổi nhưng dòng Kế thừa trong đánh dấu thì không. Thay đổi bằng tay. Kiểm tra kỹ trang thiết kế. Đôi khi (VS2005-8?) Trang thiết kế không phản ánh sự thay đổi trong không gian tên. Không thấy điều này trong năm 2010+.
Một vấn đề khác là khi tất cả hoạt động trong VS hoặc trên PC cục bộ của bạn chứ không phải khi bạn triển khai. Điều này có thể là do môi trường triển khai không có cấu trúc giống nhau. Ví dụ: lỗi xảy ra nếu bạn đặt mã của mình vào một thư mục ảo trong thư mục ứng dụng, nhưng nó không xảy ra nếu bạn tạo một thư mục ứng dụng mới và đặt tất cả các tệp của bạn vào đó. Tôi không hiểu điều này, vì tôi đã thiết lập thư mục con / ảo mới có cùng quyền (hoặc tôi nghĩ vậy) và (tôi tin) nhóm ứng dụng sẽ hoạt động giống nhau cho mọi thứ trong một thư mục ứng dụng nhất định.
Trong trường hợp của tôi, tôi cũng đã có một thư mục bin với các hội đồng được cập nhật từ các hội đồng khác trên máy chủ IIS. Một lần nữa, đảm bảo rằng chúng được chạy trong một thư mục ứng dụng riêng biệt dẫn đến thành công.
HTH
Tôi gặp vấn đề này mỗi khi tôi lưu một tệp được biên dịch động (ascx, aspx, v.v.). Tôi đợi khoảng 8-10 giây thì nó biến mất. Thật là khó chịu.
Tôi nghĩ rằng đó có thể là sự cố IIS Express vì vậy tôi đã thử trong máy chủ dev sẵn có và vẫn nhận được nó sau khi lưu tệp. Tôi đang chạy một ứng dụng MVC, tôi cũng đang sử dụng T4MVC, có lẽ đó là một yếu tố ...
Tôi đã có lỗi bực bội này trong môi trường phát triển trong Visual studio, và hóa ra lý do khá ngu ngốc. Nói tóm lại, nếu bạn có nhiều dự án / trang web trong giải pháp: hãy đảm bảo rằng cổng bạn đang cố truy cập trang web giống như được định cấu hình trong Thuộc tính dự án-> Web
Trong trường hợp của tôi, lỗi xảy ra do tôi đang sử dụng một cổng khác để truy cập trang web (trong trình duyệt) trong khi dự án trong giải pháp được chỉ định một cổng khác. Để giải thích thêm một chút, tôi đã có hai dự án trang web trong giải pháp của mình Website1 (được gán cổng 8001 trong ISS bởi Visual-Studio) và Website2 (được gán cổng 8101 trong ISS bởi Visual-Studio). Vì vậy, mặc dù tôi đang xây dựng Website1, tôi đã cố gắng truy cập trang web bằng locahost: 8101.
Bây giờ tôi cuối cùng đã nhận ra vấn đề, tôi thấy rằng bình luận của @ StingyJack cũng giải quyết vấn đề tương tự.
Đảm bảo không gian tên trong global.asax.cs khớp với không gian tên của ứng dụng web của bạn
Tôi đã có lỗi này một lần nữa và không có cái nào ở trên làm việc cho tôi. Tôi đã phải loại bỏ nút sau trong tệp .csproj:<VisualStudio>....</VisualStudio>
. Đã tải lại VS và nó hoạt động.
FYI, VS đã có thể tạo lại nút và sau đó tôi đã tạo lại trang web trong IIS (thông qua VS) và nó hoạt động hoàn hảo.
Hy vọng điều này sẽ giúp được ai đó.
Điều làm việc cho tôi là khởi động lại Visual Studio.
Tôi đã thử xây dựng lại thủ công, thực hiện dọn dẹp và xây dựng lại và xóa thư mục bin tất cả đều không hoạt động. Đường dẫn đầu ra của tôi đã được đặt thành bin \
Nếu bạn thay đổi một không gian tên, hãy đảm bảo nhấp chuột phải và cấu trúc lại.
Điều này có thể xảy ra rất thường xuyên nếu bạn thay đổi không gian tên của bạn. Trả lại tên của không gian tên của bạn, giống như trước đây và điều đó sẽ làm cho nó hoạt động!
Trong một số trường hợp, các dự án mới bạn tạo không theo mặc định được đặt để xây dựng. Nếu bạn nhấp chuột phải vào giải pháp của bạn, chọn Properties
và chọn Configuration Properties
| Configuration
nút bên trái và đảm bảo dự án của bạn có một dấu kiểm bên dưới Build
cột. Trong trường hợp bình thường, tôi thấy điều này xảy ra theo mặc định. Trong các trường hợp khác (tôi tình cờ có một giải pháp Web Api / Xamarin Android và iOS / Mvc 5 hơi phức tạp thể hiện hành vi này), dấu kiểm không xuất hiện.
Điều này có liên quan đến các câu trả lời khác - nếu lắp ráp web projet của bạn không có sẵn, bạn sẽ gặp lỗi này. Nhưng đây có thể là một tình huống phổ biến, đặc biệt là khi bạn thực sự biên dịch giải pháp của mình - dự án không được xây dựng.
Tôi gặp lỗi này vì kiểm soát phiên bản của tôi đã được đặt để bỏ qua thư mục bin của tôi . Rất ngu ngốc, nhưng có lẽ người khác sẽ có lợi.
Tôi gặp phải vấn đề này và tôi thấy có đủ loại câu trả lời nhưng không có gì được chấp nhận. Tôi sau một chút phát hiện ra rằng chỉ cần xây dựng trang web trước khi chạy để giải quyết vấn đề của tôi.