簡體   English   中英

無法刪除虛擬目錄(.NET MVC 5 + IIS Express)

[英]Can't remove virtual directory (.NET MVC 5 + IIS Express)

在嘗試將http://localhost:12345重定向到http://localhost:12345/user/login時,我創建了一個虛擬目錄,現在我意識到它只是重新映射http://localhost:12345以顯示為http:// /localhost:12345/user/login而不是去那個視圖本身。

所以我添加了一個虛擬目錄,但在任何地方都找不到它來刪除它(IISExpress/config 文件、.NET 項目文件、VS 中項目的屬性菜單)。 我的理解是單擊“創建虛擬目錄”會在 IISExpress/config/redirection.xml 文件中添加一個條目,但我在其中看不到任何虛擬目錄的內容,更不用說我創建的那個了。 我還嘗試從備份中恢復 IISExpress/config/ 中的所有配置 xml 文件,但無濟於事。 我還搜索了“/user/login”的整個解決方案。我找不到任何地方的設置。

問題是我必須使用 URL http://localhost:12345/user/login/user/login才能進入 /user/login 的登錄頁面(使用屬性路由)。 我從 RouteConfig 和使用它的控制器中刪除了屬性路由(並取消刪除了那些控制器/區域的 AreaRegistration.cs 文件),現在我只能通過前綴 /user/login 來訪問 /User/Login,所以問題不是屬性路由。 它必須是那個虛擬目錄。

我在瀏覽到根http://localhost:12345時收到此信息 - 未找到視圖“/user/login”或其主視圖,或者沒有視圖引擎支持搜索的位置。 搜索了以下位置:/user/login。 所以它肯定將 localhost:12345/ 解釋為 localhost:12345/user/login/...

我在帶有完整 IIS 的 Windows Server 2016 上,但沒有理由使用 IIS 而不是 IIS Express。 它設置為在項目的屬性中使用 IIS Express。

編輯:該問題通過 TFS 轉移到全新安裝的 Windows 和 VS,因此問題似乎出在 .NET 項目本身。 此外,問題僅在於 /user/login 頁面,在另一個區域中,頁面按預期加載,不需要 /user/login 前綴。 但同樣,我在 RouteConfig 或 WebConfig 或其他任何地方都沒有看到任何異常......無論如何,我回滾了變更集並且一切都很好,所以這個問題在技術上已經“解決”了,但我仍然想知道是什么導致了新變更集中的“虛擬目錄式”行為。

右鍵單擊虛擬目錄並選擇“轉換為應用程序”。

然后右鍵單擊應用程序並選擇“刪除”。

在 Visual Studio 解決方案(不是項目)的 .vs 子目錄中找到 applicationhost.config。

<site name="ProjectName" id="3">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\nn\source\repos\Solution\ProjectName" />
    </application>
    <application path="/user/login" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\nn\source\repos\Solution\ProjectName" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:58262:localhost" />
        <binding protocol="https" bindingInformation="*:44316:localhost" />
    </bindings>
</site>

對我來說,我創建的虛擬目錄在這里顯示為一個新的<application>標記,而不是<virtualDirectory> 似乎刪除額外的應用程序標簽有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM