2014-03-26 74 views
0

我試圖預編譯剃刀視圖,但在編譯期間VS2010拋出錯誤,如「@ViewBag在當前上下文中不存在」。當視圖沒有預編譯時,項目生成並運行良好。預編譯不使用MVC中的Razor視圖4

爲了打開視圖編輯我設置的項目文件中的以下節點:

<MvcBuildViews>true</MvcBuildViews> 

以下部分存在於瀏覽Web.config文件。

<system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Web.Optimization"/> 
     <add namespace="System.Xml"/> 
     <add namespace="System.Xml.Linq"/> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

任何想法爲什麼項目不會建立?

+1

'ViewBag'而不是'Viewbag'? –

+0

不是。對不起,這是我的問題中的拼寫錯誤。我也遇到任何Razor對象/屬性的錯誤。 (我編輯了這個問題來糾正這個錯誤。) – Hoodlum

+0

這已經過去了一段時間,但是我已經看過 false? 檢查 - https://chrismckee.co.uk/asp-net-mvc-compiled-views/ – therewillbesnacks

回答

2

geeze,我有沒有覺得自己像一個白癡。原來在項目文件夾內有一個_temp文件夾中有一些cshtml文件。即使該文件夾被排除在解決方案之外,編譯器也正在拾取其中包含的文件。將_temp文件移出項目文件夾可解決問題。

相關問題