C# 解析器错误消息:文件'/Site.master';不存在

C# 解析器错误消息:文件'/Site.master';不存在,c#,asp.net,iis-7,C#,Asp.net,Iis 7,晚安 被这个相当无聊的问题困住了。我已在本地主机(即C:\inetpub\wwwroot\MyWebSite)上部署了我的网站,但当我在浏览器中访问它时,会收到以下错误消息: Parser Error Message: The file '/Site.master' does not exist. 这很奇怪,因为这个站点。Master就在根文件夹中。我的网站中还有两个文件夹,每个文件夹都有一个web.config,我已经将这些文件夹从IIS中转换为应用程序。当我访问这些文件夹中的页面时也会发生

晚安

被这个相当无聊的问题困住了。我已在本地主机(即C:\inetpub\wwwroot\MyWebSite)上部署了我的网站,但当我在浏览器中访问它时,会收到以下错误消息:

Parser Error Message: The file '/Site.master' does not exist.
这很奇怪,因为这个站点。Master就在根文件夹中。我的网站中还有两个文件夹,每个文件夹都有一个web.config,我已经将这些文件夹从IIS中转换为应用程序。当我访问这些文件夹中的页面时也会发生此错误

所以URL和都有上述问题。在这两种情况下,母版页文件确实存在于相应的文件夹中。我已经检查了Default.aspx页面中MasterPageFile的路径及其“~/Site.Master”,并且我可以从Visual Studio(即Cassini)中成功运行web应用程序

如果有人能帮我解开这个谜,那就太好了。如果你需要更多信息,请告诉我


非常感谢

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

结果表明,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: 

第2行:

我将添加一个额外的答案,以防将来对其他人有所帮助

我对添加的母版页也有同样的问题,由于某种原因,我的网站拒绝承认和发布(Blank.Master在我的例子中,我已经使用了很多次)。虽然我找不到这个问题的根本原因,但我还是能够通过创建母版文件的新副本、将其命名为其他名称(Empty.master)以及更改受影响页面上的母版页引用来解决这个问题


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

当我在IIS7中创建一个新网站时,我选择了物理路径作为网站的根文件夹(即mywebsite)。这个根文件夹包含所有页面和其他子文件夹(正如我指出的,其中2个已转换为应用程序)。我认为mywebsite默认是一个应用程序,因为它的根文件夹包含default.aspx和Site.Master。我理解正确了吗?很抱歉,如果这听起来让人困惑,我在C:\Inetpub\wwwroot中部署了我的网站,即一个名为“mywebsite”的文件夹,其中包含所有页面、配置、主控等。这是根文件夹。当我在IIS7中“添加新网站”时,我将其指向上述物理路径,即C:\Inetpub\wwwroot\mywebsite。现在,当我通过请求通过浏览器访问它时,它会给出所述错误。这有意义吗?谢谢,伙计!但我确实在大约两年前自己解决了这个问题!:)