2014-03-26 35 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文件移出项目文件夹可解决问题。

相关问题