2011-12-29 217 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)以及更改受影响的主页参考来解决此问题页面。

这可能并不是一个很好的解决方案,但是我已经到了最后期限,至少让我继续工作。