晚上的人!!
坚持这个相当沉闷的问题。我已将我的网站部署在我的localhost(即C:\ inetpub \ wwwroot \ MyWebSite)上,但当我在浏览器中访问它时,我收到以下错误消息:
Parser Error Message: The file '/Site.master' does not exist.
这很奇怪,因为Site.Master就在根文件夹中。我的网站上还有两个文件夹,每个文件夹都有一个web.config,我已经将这些文件夹转换为IIS中的应用程序。当我从这些文件夹访问页面时也会发生此错误。
所以网址:http://localhost/mywebsite和http://localhost/mywebsite/mysubfolder都有上述问题。在这两种情况下,母版页文件都存在于相应的文件夹中。我在Default.aspx页面中检查了MasterPageFile的路径及其“〜/ Site.Master”,我可以在Visual Studio(即Cassini)中成功运行Web应用程序。
如果有人能帮助我解开这个谜团真的很棒。如果您需要更多信息,请告诉我。
非常感谢。
答案 0 :(得分:3)
您可能需要将mywebsite
文件夹设置为IIS中的应用程序。
答案 1 :(得分:3)
事实证明,IIS中的默认网站使用的端口与我使用不同主机头创建的端口相同。停止默认网站,然后创建指向C:\ Inetpub \ wwwroot的网站,然后将根网站文件夹转换为应用程序及其下的所有所需文件夹,修复此问题。但是你如何访问,即使用相同端口但是定义了不同主机头的网站的URL是什么?这仍然需要被理解。
答案 2 :(得分:2)
使用句点~/MasterPage.master
替换./MasterPage.master
之前的代字号。
<%@ Page Language="C#" MasterPageFile="./MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
Line 2:
答案 3 :(得分:0)
我将为此添加一个额外的答案,以防将来帮助其他人。
我在添加的母版页面遇到了同样的问题,由于某种原因,我的网站拒绝承认和发布(我的情况下是Blank.Master,我已经多次使用过这个名字)。虽然我找不到这个问题的根本原因,但我能够通过创建主文件的新副本,命名不同的东西(Empty.Master)以及更改主页面引用来解决此问题。受影响的页面。
它可能不是一个很好的解决方案,但是我在截止日期前,它至少让我继续工作。