分析器错误消息:文件’/Site.master’不存在

晚上的人!!

坚持这个相当沉闷的问题。 我已经在我的localhost上部署了我的网站(即C:\ inetpub \ wwwroot \ MyWebSite)但是当我在浏览器中访问它时,我收到以下错误消息:

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

这很奇怪,因为Site.Master就在根文件夹中。 我的网站上还有2个文件夹,每个文件夹都有一个web.config,我已经将这些文件夹转换为IIS中的应用程序。 当我从这些文件夹访问页面时,会发生此错误。

所以urls: http:// localhost / mywebsite和http:// localhost / mywebsite / mysubfolder都有上述问题。 在这两种情况下,母版页文件都存在于相应的文件夹中。 我在Default.aspx页面中检查了MasterPageFile的路径及其“〜/ Site.Master”,我可以从Visual Studio(即Cassini)中成功运行Web应用程序。

如果有人能帮我解开这个谜团真的很棒。 如果您需要更多信息,请告诉我。

非常感激。

您可能需要将mywebsite文件夹设置为IIS中的应用程序。

事实certificate,IIS中的默认网站使用的端口与我使用不同主机头创建的端口相同。 停止默认网站,然后创建指向C:\ Inetpub \ wwwroot的网站,然后将根网站文件夹转换为应用程序及其下的所有所需文件夹,修复此问题。 但是你如何访问,即使用相同端口但是定义了不同主机头的网站的URL是什么? 这还需要了解。

使用句点./MasterPage.master替换~/MasterPage.master之前的波浪号。

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

我将为此添加一个额外的答案,以防将来帮助其他人。

我在添加的母版页面上遇到了同样的问题,由于某种原因,我的网站拒绝承认和发布(我的情况下是Blank.Master,这是我多次使用过的名字)。 虽然我找不到这个问题的根本原因,但我能够通过创建主文件的新副本,命名不同的东西(Empty.Master)以及更改受影响的母版页引用来解决此问题。页面。

这可能不是一个很好的解决方案,但是我在截止日期前,至少让我继续工作。