【问题标题】:Parser Error Message: The file '/Site1.Master' does not exist --- but it does解析器错误消息:文件 '/Site1.Master' 不存在 --- 但确实存在
【发布时间】:2013-09-06 20:32:37
【问题描述】:

似乎是一个易于修复的错误,但我一直在努力解决这个问题。应用程序在 VS 内置网络服务器中运行良好,但在使用 IIS7 将其移动到开发服务器后就不行了。

default.aspx 文件是指页面指令中的母版页...

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"      CodeBehind="Default.aspx.cs" Inherits="MyApp.Default" %>

Site1.Master 与 default.aspx 一起位于站点的根目录中。此时文件夹权限被读取给所有人。

这是一个 Intranet 站点,因此 IIS 授权被禁用匿名,启用 Windows 身份验证,启用模拟。应用程序池是 .NET v4,集成了托管管道。

我浏览了这个网站和其他网站以寻找答案,虽然其他人遇到了同样的问题,但原因不同。

谢谢。

【问题讨论】:

  • 为什么不尝试将其设为 MasterPageFile="Site1.Master"

标签: asp.net iis-7 master-pages


【解决方案1】:

当我们将网站从一台服务器移动到另一台服务器时,我遇到了同样的问题。我们的新站点位于一家优秀托管公司 (SoftSysHosting.com) 的 VPS 上,他们的技术支持创建了一个虚拟目录,指向我们的网站/应用程序所在的位置。解决了!

【讨论】:

    【解决方案2】:

    我之前也遇到过类似的问题。潜在的问题是我假设路径会保持不变,但事实并非如此。登录到您的开发服务器并导航到您的母版页。在资源管理器中打开页面的属性并查看路径。现在在应用程序的测试页面中运行 HttpRuntime.AppDomainAppPath() 并查看应用程序的运行位置。从那里你可以看到不匹配发生在哪里。

    【讨论】:

    • 当我们将网站从一台服务器移动到另一台服务器时,我遇到了同样的问题。我们的新站点位于一家优秀托管公司 (SoftSysHosting.com) 的 VPS 上,他们的技术支持创建了一个虚拟目录,指向我们的网站/应用程序所在的位置。解决了!
    【解决方案3】:

    假设您的网站或 web 应用程序的根目录如图片中所示,如“WebApplication1”。这是您网站的根文件夹。
    因此,只需将根文件夹“WebApplication1”中的内容复制并粘贴到 FTP 地址的“根文件夹”“/”中即可。
    不是:不要使用根文件夹 WebApplication1 进行复制。
    只需复制根文件夹内的内容

    您的目录结构
    ==+WebApplication1
    ====属性
    ====参考
    ====PropertiesSite1.Master
    ====Web.config
    ====Webform1.aspx

    【讨论】:

      【解决方案4】:

      我可以通过删除 Site.Master 第一行中的 CodeFile="..." 选项来解决此问题:

      <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.Master.cs"     
      inherits="CG.PresentationLayer.WA.MasterPage" %>
      

      进入:

      <%@ Master Language="C#" AutoEventWireup="true" Inherits="MyApp.MasterPage" %>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-03
        • 2011-10-24
        • 2017-10-19
        • 2016-03-08
        • 2011-05-14
        • 1970-01-01
        相关资源
        最近更新 更多