Visual Studio 2012 中的 Razor 3
我已經更新了所有 nuget 包並獲得了新的 MVC 5.0 包和 Razor 3.0 從那時起,所有 .cshtml 文件的智能和語法突出顯示都停止了工作
System.Web.WebPages.Razor is version: 3.0.0.0 System.Web.dll is version 4.0.0.0 System.Web.Mvc is version 5.0.0.0我正在執行帶有更新 3 的 Visual Studio 2012
還嘗試製作一個新的 MVC 4 項目並進行 Nuget 更新,結果相同:Razor Intellisence 停止工作。
微軟為此發布了更新,Web Tools 2013.1 for VS2012。
如何將 aspnet mvc4 和 webapi 項目升級到 aspnet mvc5 和 web api2
在 VS2013 Preview 中,我們發布了新的 Razor V3 執行時和設計時引擎,以支持 MVC5 和 Razor V3 網站的執行時和設計時行為。與 Razor V2 執行時和設計時不同,VS2013 沒有 GAC 這些二進製文件。相反,當安裝相應的 NuGet 包時,二進製文件安裝在項目 bin 文件夾中,並在“%ProgramFiles (x86)%\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\Web\Razor\v3.0”支持設計時間。
與在 VS2012 中確定要載入哪些 razor v1/v2 設計時 dll 一樣,VS 2013 預覽版首先使用 web.config 文件鍵來確定要載入的設計時 dll 版本以用於編輯網頁。例如,預設情況下,MVC5 項目包含,VS 會載入 Razor V3 dll 來編輯項目的網頁文件(即 cshtml 或 vbhtml 文件)。
如果 web.config 文件中缺少密鑰,例如預設的 Razor V2/V3 網站,VS 將使用 bin 目錄的 razor dll 版本來確定要載入的設計時 razor 引擎 dll。
由於 Razor v1 不再附帶 VS2013 預覽版,如果在沒有 bin 目錄或 web.config 設置的情況下打開單個網頁文件(即 cshtml 或 vbhtml 文件),VS 2013 預覽版將簡單地將網頁載入為純文字文件。2013 年 10 月 9 日更新:在 VS2013 RC 和 RTW 中,VS 將使用盒子上最高的 Razor 版本打開單個網頁文件。
您可以通過調試到 Visual Studio 程序並檢查模組視窗來驗證這些行為,使用 razor 關鍵字進行過濾。