6 Stimmen

Parser-Fehlermeldung: Die Datei '/Site.master' existiert nicht.

Guten Abend Leute!!

Ich stecke mit diesem ziemlich langweiligen Problem fest. Ich habe meine Website auf meinem localhost bereitgestellt (d.h. C:\inetpub\wwwroot\MyWebSite), aber wenn ich sie im Browser aufrufe, erhalte ich diese Fehlermeldung:

Parser-Fehlermeldung: Die Datei '/Site.master' existiert nicht.

Es ist seltsam, denn die Site.Master befindet sich direkt im Stammverzeichnis. Ich habe 2 weitere Ordner in meiner Website, die jeweils ein web.config haben, und ich habe diese Ordner von innerhalb des IIS aus zu Anwendungen konvertiert. Dieser Fehler tritt auf, wenn ich Seiten aus diesen Ordnern aufrufe.

also die URLs: http://localhost/mywebsite und http://localhost/mywebsite/mysubfolder, haben beide das oben genannte Problem. Und in beiden Fällen existiert die Master-Seite tatsächlich in den entsprechenden Ordnern. Ich habe den Pfad der MasterPageFile in meiner Default.aspx Seite überprüft und es lautet "~/Site.Master" und ich kann die Web-App erfolgreich von innerhalb von Visual Studio ausführen (d.h. Cassini).

Es wäre wirklich toll, wenn mir jemand helfen könnte, dieses Rätsel zu lösen. Lass mich wissen, wenn du mehr Informationen benötigst.

Vielen Dank im Voraus.

7voto

SLaks Punkte 832502

Sie müssen wahrscheinlich den Ordner mywebsite in IIS als Anwendung einrichten.

4voto

Aman Punkte 538

Es stellte sich heraus, dass die Standardwebsite in IIS denselben Port wie die Website verwendete, die ich mit einem anderen Hostheader erstellt hatte. Das Stoppen der Standardwebsite, das Erstellen der Website, um auf C:\Inetpub\wwwroot zu verweisen, und das Konvertieren des Root-Website-Ordners in eine Anwendung und aller erforderlichen Ordner darunter haben das Problem behoben. Aber wie greift man z.B. auf eine Website zu, die denselben Port verwendet, aber einen anderen Hostheader definiert hat? Das muss noch verstanden werden.

4voto

Bruevin Punkte 41

Ersetzen Sie die Tilde vor ~/MasterPage.master durch einen Punkt ./MasterPage.master.

<%@ Page Language="C#" MasterPageFile="./MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
Line 2:

0voto

Rob Wilkins Punkte 1650

Ich werde eine zusätzliche Antwort hinzufügen, falls dies jemand anderem in der Zukunft helfen sollte.

Ich hatte das gleiche Problem mit einer hinzugefügten Master-Seite, die mein Website aus irgendeinem Grund nicht erkennen und veröffentlichen wollte (bei mir war es Blank.Master, ein Name, den ich schon oft verwendet habe). Obwohl ich die Ursache des Problems nicht finden konnte, konnte ich das Problem umgehen, indem ich eine neue Kopie der Masterdatei erstellte, sie umbenannte (Empty.Master) und die Masterseitenreferenz auf den betroffenen Seiten änderte.

Es ist wahrscheinlich keine großartige Lösung, aber ich hatte ein Zeitlimit und es hat mir zumindest ermöglicht, meine Arbeit fortzusetzen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X