2009-10-21 31 views
5

tôi tạo ra một giải pháp mới và nó được xây dựng khuôn khổ nhắm mục tiêu tốt 4,0 nhưng khi tôi chạy nó, trình duyệt của tôi đi lên nói:lỗi chạy asp.net MVC 2 dự án ra khỏi hộp trong vs 2010

Tài nguyên có thể không được tìm thấy. Mô tả: HTTP 404. Tài nguyên bạn đang tìm kiếm (hoặc một trong các phụ thuộc của nó) có thể đã bị xóa, tên của nó đã thay đổi hoặc tạm thời không khả dụng. Vui lòng xem lại URL sau và đảm bảo rằng URL được viết đúng chính tả. URL được yêu cầu:/

bất kỳ ý tưởng nào về cách gỡ lỗi này?

+0

Đây có phải là dự án "mặc định" bạn đã tạo bằng VS và chỉ cần nhấn F5 không? Hoặc bạn đã sửa đổi bất cứ điều gì đầu tiên. Ngoài ra, URL bạn đang cố gắng truy cập khi nhận được lỗi 404 này là gì? –

+1

@oo Tôi đã thêm câu trả lời, bạn có thể thử không? – MariangeMarcano

+0

Đây có phải là MVC2 BETA không? – LiamB

Trả lời

5

Thử thêm trang default.aspx đi kèm với mẫu dự án asp.net mvc 1.0. Tôi đã có một vấn đề tương tự chạy mvc 2 ra khỏi hộp trên một máy tính với IIS 5 (XP), và đã làm các trick.

Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="YourNamespace.Website.Default" %> 

<%-- Please do not delete this file. It is used to ensure that ASP.NET MVC is activated by IIS when a user makes a "/" request to the server. --%> 

Default.aspx.cs:

using System.Web; 
using System.Web.Mvc; 
using System.Web.UI; 

namespace YourNamespace.Website 
{ 
    public partial class Default : Page 
    { 
     public void Page_Load(object sender, System.EventArgs e) 
     { 
      // Change the current path so that the Routing handler can correctly interpret 
      // the request, then restore the original path so that the OutputCache module 
      // can correctly process the response (if caching is enabled). 
      string originalPath = Request.Path; 
      HttpContext.Current.RewritePath(Request.ApplicationPath, false); 
      IHttpHandler httpHandler = new MvcHttpHandler(); 
      httpHandler.ProcessRequest(HttpContext.Current); 
      HttpContext.Current.RewritePath(originalPath, false); 
     } 
    } 
} 
0

tôi đoán là bạn cần phải đăng ký lại hoặc kích hoạt khuôn khổ dưới IIS. Thử chạy aspnet_regiis từ cây khung thích hợp và/hoặc đảm bảo rằng phiên bản khung thích hợp được cho phép trong tiện ích mở rộng web IIS.

2

Bạn không cần phải thêm trang default.aspx được mô tả ở trên.

Trình duyệt sẽ hiển thị thông báo 404 này nếu bạn thêm và chạy một ứng dụng rỗng ASP.NET MVC 2 mới "ngoài hộp".

Điều này là do tuyến đường mặc định được xác định trong global.asax.

routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

Bạn có thể thấy nó đang tìm kiếm một bộ điều khiển được gọi là Trang chủ và một hành động được gọi là Chỉ mục.

Khi tạo một trống dự án mới nó để lại cho bạn để tạo ra bộ điều khiển Trang chủ và hành động Index (họ không có trong một dự án có sản phẩm nào), sau đó tạo cấu hình riêng cho hành động Index quá.

+0

Vâng, đây là câu trả lời đúng !! –

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