母版页“不存在”

本文关键字:不存在 母版页 | 更新日期: 2023-09-27 18:06:51

我有一个ASP。NET Web表单应用程序。我已经执行了预编译的构建并将文件加载到服务器上。但是,应用程序会向浏览器抛出以下错误:

文件'/myapp。Master '不存在

这个错误使我困惑。因为我已经执行了预编译的构建,所以我希望母版页的代码只作为编译后的代码存在于bin文件夹中。但它似乎在寻找一个物理文件?为什么会这样呢?

主页的第一行如下:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="myapp.master.cs" Inherits="PresentationLayer_myapp" %>

如果你以前遇到过这个错误,是怎么解决的?

母版页“不存在”

您需要确保虚拟目录是一个应用程序—而不仅仅是一个虚拟目录。在IIS中,右键单击虚拟目录并选择"转换为应用程序"。

似乎这个错误与母版页不是真正的问题。

由于错误报告了母版页不存在的问题,当通过VS2010发布网站时,我选择了"允许此预编译的网站可更新"选项。我知道这个选项会生成一个ASPX Master页面,而如果我不选择这个选项,ASPX将被预编译,并且只作为编译后的代码存在于/bin文件夹中。

因此,当应用程序被部署时,在试图访问应用程序时,它不再报告母版页的问题,它现在报告了我的一个DLL的BadImageFormatException。通过将解决方案平台设置为x86(之前为所有项目设置为'Any CPU'),可以修复此错误。为此,转到Visual Studio中的工具栏,单击Build -> Configuration Manager,从那里您可以修改解决方案中每个项目的Platform设置。

一旦我这样做了,我就能够发布一个完全预编译的构建,它不再报告任何问题与母版页。

我仍然不确定为什么它报告了一个错误与主控页事先,但我怀疑,也许是与DLL的问题导致编译后的代码搞砸了,因为主控页是第一件事被加载时,向网站的主页提出请求,然后这是在错误页面上提到的这个页面。