將ASP.NET MVC 從版本4 升級到版本5 時,可能會遇到出現的錯誤由System.Web.WebPages.Razor.Configuration.HostSection 類別的兩個不同版本之間的轉換操作產生。了解此問題的原因並確定解決方案至關重要。
徹底檢查專案文件並確保所有文件都更新到 MVC 5 後,問題仍然存在。這表示問題可能不在 Visual Studio 解決方案中。
根據錯誤訊息,轉換操作失敗,因為:
Visual Studio 在依賴項升級期間可能並不總是做出準確的選擇。因此,手動檢查專案文件 (.csproj) 以驗證引用至關重要。從 MVC 4 升級到 MVC 5 時,一個或多個專案檔案可能仍包含舊版本 System.Web.WebPages.Razor 的參考。
舊參考:
<Reference Include="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Private>True</Private> <HintPath>..\packages\Microsoft.AspNet.WebPages.1.0.20105.408\lib\net40\System.Web.WebPages.Razor.dll</HintPath> </Reference>
更新參考:
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Private>True</Private> <HintPath>..\packages\Microsoft.AspNet.WebPages.3.0.0\lib\net45\System.Web.WebPages.Razor.dll</HintPath> </Reference>
這些步驟應該對解決方案中的所有依賴項目重複進行。 web.config 和/Views/web.config 檔案以確保它們沒有引用過時版本的組件也是有益的。在解決方案之外,可能位於引用舊版文件的第三方函式庫中。
以上是為什麼在將 ASP.NET MVC 應用程式從版本 4 升級到版本 5 時出現轉換錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!