Asp-Classic

如何在 Visual Studio 2015 中允許父路徑?

  • July 25, 2018

我在 Visual Studio 2015 中從 Visual Studio 2013(執行良好)打開了一個現有的 Web 應用程序項目。當我從 Visual Studio 2015 中執行它時,我得到:

Active Server Pages error 'ASP 0131' 

Disallowed Parent Path 

/blah/login.asp, line 1 

The Include file '../includes/Security.asp' cannot contain '..' to indicate the parent directory. 

我的 IISExpress applicationhost.config 文件已經包含以下條目:

<asp appAllowClientDebug="false" appAllowDebugging="false" errorsToNTLog="false" enableParentPaths="true" scriptErrorSentToBrowser="true" bufferingOn="true">

           <session allowSessionState="true" />
           <cache diskTemplateCacheDirectory="%SystemDrive%\inetpub\temp\ASP Compiled Templates" />
           <limits maxRequestEntityAllowed="1073741824" />
       </asp>

我的 Web 應用程序屬性設置為使用 IISExpress。

我會錯過什麼?

“applicationhost.config”已移動,現在位於隱藏的 .vs 文件夾中。確保您正在更新正確的文件。

我想添加一個非常相似的答案版本,因為我仍然需要進行一些搜尋才能獲得預期的最終結果。儘管最初的問題只是想知道為什麼目前正在使用的配置不起作用並且實際上已在接受的答案中進行了解釋,但這並沒有幫助像我這樣的人提出問題。我需要知道要做的所有事情,以便在調試時實現允許父路徑。所以這裡是我的詳細答案…

如何在 Visual Studio 2015 中將 IIS 調試伺服器配置為allow parent paths

首先,您需要找到IIS Express托盤圖示。

iis_tray_icon

接下來,您需要通過右鍵點擊該托盤圖示來打開目前正在執行的 IIS 配置以進行調試。然後,您將看到以下上下文菜單。您將需要點擊“顯示所有應用程序”。

iis_tray_content_menu

這將顯示您正在執行的 IIS 調試伺服器的配置。此列表中還會列出您正在處理的項目。

iis_config_window

點擊列下的項目名稱(在本例中為“Web”)Site Name。然後,您將看到用於執行調試 IIS 伺服器Path的項目和文件。Config然後,您將點擊Config路徑以applicationhost.config在預設文本編輯器中打開。

iis_config_window_project_selected

這將打開您在調試項目時使用的配置文件。您需要向下滾動,直到找到該<system.webServer>部分。然後查找該<asp>部分。就我而言,它是<asp scriptErrorSentToBrowser="true">

iis_applicationhost_config

然後,您只需編輯asp要包含的部分,enableParentPaths="True"如下圖所示。

iis_applicationhost_config_edited

只需保存文件並重新啟動調試過程。注意:我只需要在 IE 瀏覽器中按 F5 即可看到更改。我不必關閉瀏覽器並重新啟動調試過程。

引用自:https://stackoverflow.com/questions/31567796