2011-12-29 33 views
2

晚上人!解析器錯誤信息:'/Site.master'文件不存在

卡住了這個相當沉悶的問題。我已經部署了我的網站在我的本地(即C:\的Inetpub \ wwwroot的\ MyWebSite),但是當我在瀏覽器中訪問它,我得到這個錯誤信息:

Parser Error Message: The file '/Site.master' does not exist. 

這很奇怪怎麼把的Site.Master是正確的在根文件夾中。我的網站上有兩個文件夾,每個文件夾都有一個web.config,我已經將這些文件夾轉換爲IIS內的應用程序。當我從這些文件夾中訪問頁面時也會發生此錯誤。

所以網址:http://localhost/mywebsitehttp://localhost/mywebsite/mysubfolder,都有上述問題。在這兩種情況下,主頁面文件都存在於相應的文件夾中。我在我的Default.aspx頁面及其「〜/ Site.Master」中檢查了MasterPageFile的路徑,並且我可以在Visual Studio(即Cassini)中成功運行該Web應用程序。

如果有人能夠幫助我解決這個謎團,那將會非常棒。讓我知道你是否需要更多信息。

非常感謝。

+0

夥計們,有人請幫忙嗎? – Amn 2011-12-29 18:00:24

回答

3

原來,IIS中的默認網站使用的端口與我使用其他主機標頭創建的端口相同。停止默認網站,然後創建網站指向C:\ Inetpub \ wwwroot,然後將根網站文件夾轉換爲應用程序及其下的所有需要​​的文件夾,解決了此問題。但是,您如何訪問使用相同端口但定義了不同主機頭的網站的網址是什麼?這仍然需要了解。

2

您可能需要將mywebsite文件夾設置爲IIS中的應用程序。

+0

當我在IIS7中創建一個新網站時,我選擇了物理路徑作爲網站的根文件夾(即mywebsite)。此根文件夾包含所有頁面和其他子文件夾(其中2個,如我所指出的,已被轉換爲應用程序)。我會想象,mywebsite默認是一個應用程序,因爲它的根文件夾包含Default.aspx和Site.Master。我理解你了嗎? – Amn 2011-12-29 17:18:24

+0

那麼什麼是mywebsite? – SLaks 2011-12-29 17:19:48

+0

對不起,如果聽起來很混亂,在C:\ Inetpub \ wwwroot我有我的部署網站,即一個名爲「mywebsite」,其中包含所有頁面,配置,主人等文件夾。這是根文件夾。當我在IIS7中添加新網站時,我將它指向上述物理路徑,即C:\ Inetpub \ wwwroot \ mywebsite。現在,當我通過請求http:// localhost/mywebsite通過瀏覽器訪問它時,它給了我上述錯誤。這有意義嗎? – Amn 2011-12-29 17:27:32

2

./MasterPage.master替換~/MasterPage.master之前的波浪號。

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

謝謝隊友!但2年前我確實設法解決了這個問題! :) – Amn 2013-01-19 22:15:50

0

我要爲此添加一個額外的答案,以防將來幫助其他人。

我遇到了與添加的母版頁相同的問題,由於某種原因,我的網站拒絕承認併發布(我的案例中使用了Blank.Master,這是我多次使用的名稱)。雖然我找不到這個問題的根本原因,但我能夠通過創建主文件的新副本,命名它不同的東西(Empty.Master)以及更改受影響的主頁參考來解決此問題頁面。

這可能並不是一個很好的解決方案,但是我已經到了最後期限,至少讓我繼續工作。