Dot-Net

Visual Studio 2012 中的 Razor 3

  • September 27, 2018

我已經更新了所有 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 停止工作。

應用升級指南但沒有成功: http ://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to- aspnet-mvc-5-and-web-api-2

微軟為此發布了更新,Web Tools 2013.1 for VS2012。

http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-visual-studio-2012.aspx

如何將 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 關鍵字進行過濾。

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