我刚买了一台装有Windows 7 Pro作为操作系统的新台式电脑。我将Visual Studio 2008安装到这台新计算机上,并尝试打开以前存在的ASP.NET 3.5解决方案,该解决方案在我以前的计算机上显示得非常好(以前的计算机使用的是Windows XP操作系统,IIS6和IE7浏览器)。但是,在Windows7 / IE8中,我收到以下错误:
>'/'应用程序中的服务器错误。
分析程序错误说明:错误 解析期间发生的 为此提供服务所需的资源 请求。请查看以下内容 具体的解析错误细节和 适当修改你的源文件。
分析程序错误消息:该文件 '/MasterPages/MainMaster.master'不存在。
来源错误:
第1行:<%@ Page Language =“C#” AutoEventWireup = “真” 的CodeFile = “default.aspx.cs” 继承=“_默认” 的MasterPageFile = “〜/ MasterPages / MainMaster.master” %> 第2行:
第3行:<%@ Register TagPrefix =“SBLContent”TagName =“SBLContentBlock” SRC = “用户控件/ content.ascx” %>源文件:/SBLWebSite/default.aspx 行:1
版本信息:Microsoft .NET 框架版本:2.0.50727.4952; ASP.NET版本:2.0.50727.4927
当我告诉你文件'/MasterPages/MainMaster.master'文件确实存在时,请相信我。
此外,该文件的位置在代码中正确引用(如上面第1行所示),正如我所说,浏览器在我以前的计算机中正确显示。注意我尝试导航到此站点中的其他页面也可能会有所帮助,此浏览器会为位于我的MasterPages文件夹中的任何和所有母版页显示相同的消息。
总之,由于某种原因,浏览器无法在MasterPages文件夹中看到任何页面。当文件夹和文件正是default.aspx所说的那样时,有人能告诉我为什么我收到此错误消息?
提前致谢!
答案 0 :(得分:9)
感谢您的回复。
然而,这个问题原来是一个IIS7问题。我描述的错误消息源于IIS7在“虚拟目录”和“应用程序”之间的区别(我不知道IIS6中是否存在这种区别)。要修复此错误,我打开IIS7,右键单击此站点的虚拟目录文件夹,然后选择“转换为应用程序”。然后我刷新了浏览器,错误就消失了。
叹息。
答案 1 :(得分:1)
要检查两件事:
在文件路径中使用“〜”时,请确保当前应用程序部署认为根目录与以前相同。 (我有时会从VS Development Server和IIS中移动一个应用程序。)
确保运行服务器的用户帐户具有访问该目录的权限。由于您刚刚将代码从另一台计算机和某些中间存储设备上移了过来,因此安全权限可能不正确。
答案 2 :(得分:0)
而不是“〜”我只是简单地将目录更改为相对“...”所以,我原来的那个给我带来问题的是:“〜/ MasterPage / TheMainMasterPage.master”这个导致我得到相同的错误消息。将其更改为“../MasterPage/TheMainMasterPage.master”为我修复了一切。
答案 3 :(得分:0)
我最近不得不将我的网站从一台服务器(32位)移动到另一台服务器(64位)。在新服务器上我遇到了文件未找到错误“解析器错误消息:文件'〜/ Master.master'不存在”
注意:我的一些应用程序是为x86构建的,您仍然需要将您的网站转换为应用程序: - )
解决方案: 在IIS8中,单击“应用程序池” - >选择一个应用程序池,例如DefaultAppPool - >点击“高级设置” - >在“常规”部分下,将“启用32位应用程序”设置为“True” - >单击“确定”
刷新您的网站/网络服务,这应该可以解决问题
答案 4 :(得分:0)
错误来自网页表单
<%@ Page Title =“”Language =“vb”AutoEventWireup =“false” MasterPageFile = “〜/ Site1.Master” CodeBehind =“add_drivers.aspx.vb” Inherits =“au_transport.WebForm1”%>
<强>校正强>
&lt;%@ Page Title =“”Language =“vb”AutoEventWireup =“false” MasterPageFile = “Site1.Master” CodeBehind =“add_drivers.aspx.vb” Inherits =“au_transport.WebForm1”%&gt;
答案 5 :(得分:0)
先前的代码:-
<%@ Page Title="" Language="C#" MasterPageFile="~/admin.Master" AutoEventWireup="true" CodeBehind="outgoingform.aspx.cs" Inherits="OCS.outgoingform" %>
代码更改后:-
<%@ Page Title="" Language="C#" MasterPageFile="../ocs/admin.Master" AutoEventWireup="true" CodeBehind="outgoingform.aspx.cs" Inherits="OCS.outgoingform" %>
将代码从"~/admin.Master"
更改为"~/ocs/admin.Master"
答案 6 :(得分:0)
先前的代码:-
代码更改后:-
将代码从“〜/ admin.Master”更改为“ 〜/ ocs / admin.Master ”
答案 7 :(得分:0)
好的,这是旧的,现在是 2021 年,但是,您的母版页面的路径具有 ~/site name/MasterPage.master 或类似内容。
我做了什么修复,因为我上传到服务器都在同一目录中,删除这个 ~/site name/ 保留母版页的名称 IE: MasterPage.master 一切都很好。确保母版页与其他页面位于同一目录中。完成。
我编辑后的内容...
<%@ Page Title="" Language="VB" MasterPageFile="MasterPage.master"
对所有页面执行此操作
没有站点名称或 ~/ 等。多么痛苦,但是一旦您意识到这只是一个目录问题,回想起来从一开始就应该很明显……现在一切都好了。网站启动。