Frage

habe ich eine neue Lösung und es baut feinen Rahmen 4.0 Targeting, aber wenn ich es laufen, mein Browser kommt sagen:

Die Ressource kann nicht gefunden werden. Beschreibung: HTTP 404. Die Ressource, die Sie suchen (oder eine seiner Abhängigkeiten) entfernt worden sein könnte, hatte seinen Namen geändert, oder ist vorübergehend nicht verfügbar. Bitte lesen Sie die folgende URL ein und stellen Sie sicher, dass es richtig geschrieben ist. Angeforderte URL: /

alle Ideen auf, wie dies zu debuggen?

War es hilfreich?

Lösung

Versuchen Sie, die default.aspx Seite hinzufügen, die mit der asp.net Mvc 1.0 Projektvorlage kommt. Ich hatte ein ähnliches Problem mvc 2 aus der Box auf einem Computer mit IIS 5 (XP) ausgeführt wird, und das war der 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);
        }
    }
}

Andere Tipps

Sie brauchen nicht auf die Seite default.aspx oben beschrieben hinzuzufügen.

Der Browser wird diese 404 Nachricht angezeigt, wenn Sie eine neue Leere ASP.NET MVC 2 Anwendung "out of the box" hinzufügen und ausführen.

Dies ist wegen 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
        );

können Sie sehen, es ist für einen Controller sucht Start und eine Aktion namens Index genannt.

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

Meine Vermutung ist, dass Sie den Rahmen unter IIS neu registrieren oder aktivieren müssen. Versuchen Sie, aspnet_regiis aus dem entsprechenden Rahmen Baum und / oder stellen Sie sicher, dass die richtige Framework-Version unter IIS-Erweiterungen erlaubt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top