2009-10-21 4 views
5

habe ich eine neue Lösung und es baut Fein Targeting Rahmen 4.0, aber wenn ich es laufen, kommt mein Browser sagen up:Fehler läuft asp.net Mvc 2-Projekt aus der Box in vs 2010

Die Ressource kann nicht gefunden werden. Beschreibung: HTTP 404. Die Ressource, nach der Sie suchen (oder eine ihrer Abhängigkeiten), wurde möglicherweise entfernt, der Name wurde geändert oder ist vorübergehend nicht verfügbar. Bitte überprüfen Sie die folgende URL und vergewissern Sie sich, dass sie richtig geschrieben ist. Angeforderte URL:/

alle Ideen auf, wie dies zu debuggen?

+0

Ist dies nur ein "Standard" -Projekt, das Sie mit VS erstellt haben, und drücken Sie einfach F5? Oder hast du zuerst etwas modifiziert? Wie lautet die URL, auf die Sie zugreifen möchten, wenn Sie diesen 404-Fehler erhalten? –

+1

@oo Ich habe eine Antwort hinzugefügt, können Sie es versuchen? – MariangeMarcano

+0

Ist das MVC2 BETA? – LiamB

Antwort

5

Versuchen Sie, die Seite default.aspx, die mit der Projektvorlage asp.net mvc 1.0 geliefert wird, hinzuzufügen. Ich hatte ein ähnliches Problem mit mvc 2 out of the box auf einem Computer mit IIS 5 (XP), und das hat den Trick gemacht.

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

Meine Vermutung ist, dass Sie den Rahmen unter IIS neu registrieren oder aktivieren müssen. Versuchen Sie, aspnet_regiis von der entsprechenden Framework-Struktur aus auszuführen und/oder stellen Sie sicher, dass die richtige Framework-Version unter den IIS-Web-Erweiterungen zulässig ist.

2

Sie müssen die oben beschriebene Seite default.aspx nicht hinzufügen.

Der Browser zeigt diese 404-Meldung an, wenn Sie eine neue Leere ASP.NET MVC 2-Anwendung "out of the box" hinzufügen und ausführen.

Dies liegt an der Standardroute, die in global.asax definiert ist.

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

Sie können sehen, es sucht nach einem Controller namens Home und eine Aktion namens Index.

Wenn Sie ein neues leer Projekt erstellt es Ihnen überlassen ist die Home-Controller und Index Aktion zu erstellen (sie in einem leeren Projekt nicht da sind), dann erstellen Sie die Ansicht für den Index zu Aktion.

+0

Ja, das ist die richtige Antwort !! –