2010-09-29 259 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" %>

相關問題