2010-09-29 35 views
5

我刚刚得到一台新的台式电脑,Windows 7 Pro作为操作系统。我在这台新计算机上安装了Visual Studio 2008,并尝试打开先前存在的ASP.NET 3.5解决方案,该解决方案在我之前的计算机上显示得非常好(以前的计算机使用Windows XP操作系统,IIS6和IE7浏览器)。然而,在Windows7/IE8,我收到以下错误:错误:“文件'/MasterPages/MainMaster.master'不存在。” (是的,这个文件确实存在!)

Server Error in '/' Application.


Parser Error Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: The file '/MasterPages/MainMaster.master' does not exist.

Source Error:

Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="default.aspx.cs" Inherits="_Default" MasterPageFile="~/MasterPages/MainMaster.master"%> Line 2:
Line 3: <%@ Register TagPrefix="SBLContent" TagName="SBLContentBlock" Src="usercontrols/content.ascx"%>

Source File: /SBLWebSite/default.aspx Line: 1


Version Information: Microsoft .NET Framework Version:2.0.50727.4952; ASP.NET Version:2.0.50727.4927

请相信我,当我告诉你,文件“/MasterPages/MainMaster.master”文件呢,其实,存在的。

此外,该文件的位置在代码中正确引用(如上面的第1行所示),正如我所说的,在我以前的计算机中,浏览器正确显示了该文件的位置。注意到我试图导航到此站点中的其他页面也可能会有帮助,并且此浏览器会显示位于我的MasterPages文件夹中的任何和所有母版页的相同消息。

总之,出于某种原因,浏览器无法在MasterPages文件夹中看到任何页面。任何人都可以告诉我,为什么我得到这个错误信息,当文件夹和文件正好在default.aspx说这是什么?

在此先感谢!

回答

8

我很感谢您的回应。

但是,这个问题竟然是一个IIS7问题。我所描述的错误信息源于IIS7在“虚拟目录”和“应用程序”之间的区别(我不知道IIS6中是否存在这样的区别)。为了解决这个错误,我打开了IIS7,右键单击该站点的虚拟目录文件夹,然后选择“转换为应用程序”。然后我刷新了浏览器,错误消失了。

感叹。

+1

你应该张贴此为Ben的答案评论,而不是:)答案一般是..好..回答:) – Marko 2010-10-01 00:42:00

+0

请给这个解决方案的更多信息,我有同样的问题,但没有在您的解决方案 – Guy 2011-12-16 18:58:19

+0

这是诀窍!,感谢“转换为应用程序”将默认的新根路径设置为一个额外的网段URL,所以现在localhost/myproject是新的根目录h到我的新虚拟目录,现在工作正常!再次感谢。 – dennisbot 2013-04-21 22:00:10

1

两件事情来检查:

  1. 当在文件路径中使用“〜”,确保当前的应用程序部署相信根目录是相同的,因为它以前。 (我遇到了这种情况,有时候会从VS开发服务器和IIS中移动一个应用程序。)

  2. 确保服务器正在运行的用户帐户有权访问该目录。由于您只是将代码从另一台计算机移出,可能还有一些中间存储设备,因此安全权限可能不正确。

0

而不是“〜”,我能够简单地将目录更改为相对“..”所以,我原来给我的问题是这样的:“〜/ MasterPage/TheMainMasterPage.master”和这使我得到相同的错误信息。将其更改为“../MasterPage/TheMainMasterPage.master”修复了我的一切。

0

我最近不得不将我的网站从一台服务器(32位)移动到另一台服务器(64位)。在新的服务器上,我遇到了文件找不到错误“Parser Error Message:The file'〜/ Master。主”不存在”

NB:我的一些应用程序是专为X86,你仍然需要你的网站转换为应用程序:-)

解决方案: 在IIS8,单击应用程序池 - >选择一个应用程序池例如DefaultAppPool - >点击'高级设置' - >在'一般'部分设置'启用32位应用程序'为'真' - >点击确定

刷新您的网站/ web服务,应该做的绝招

0

enter image description here

的错误出现在Web表单上这样

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site1.Master" CodeBehind="add_drivers.aspx.vb" Inherits="au_transport.WebForm1" %>

校正

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="Site1.Master" CodeBehind="add_drivers.aspx.vb" Inherits="au_transport.WebForm1" %>

相关问题