项目: VB.NET MVC5 w/ EF6、MvcScaffolding和BootstrapEditorTemplates
从今天早上开始,我没有得到任何内置的MVC助手的智能感知,也没有在中获得任何自定义的智能感知--在和Area中的任何视图。注意:我仍然可以看到Html.Encode和Htm.DropDownList (而不是DropDownListFor<>)等等。
如果我构建它,我会收到错误,尽管我仍然可以正确地浏览应用程序,并看到正确的编辑器和数据。
@ModelType Quotes4YouVB.Request
@Html.EditorFor(Function(model) model.Urgency)
@Html.EditorFor(Function(model) model.Message)除其他类似的错误外,我还收到以下错误。
没有声明“ModelType”。由于其保护水平,它可能无法进入。没有声明“ViewBag”。由于其保护水平,它可能无法进入。'EditorFor‘不是System.Web.WebPages.Html.HtmlHelper的成员。'ValidationMessageFor‘不是System.Web.WebPages.Html.HtmlHelper的成员。
我已经找过所有的嫌疑人了:
有人有什么想法吗?奇怪的是,它是特定于/ that /,它在~/Views/X/Y.vbhtml中工作得很好。
发布于 2014-08-29 10:50:19
找到解决办法了!我不知道为什么这个具体的事情会导致这个问题,但是和大多数的VS问题一样,我不会对它提出太多的质疑,我只是想跟它一起去哈哈。
它与System.Web.WebPages.Razor主机FactoryType节有关。
我的~/Views/Web.config有以下内容:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory,
System.Web.Mvc, Version=5.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
...
</namespaces>
</pages>
</system.web.webPages.razor>特别是Version=5.0.0.0部分。因为我刚刚从NuGet重新安装了MVC 5.2.x,所以应该是5.2.0.0吗?
我在我的~/ Web.config /AreaName/Views/Web.Config中检查了Web.config,发现它除了读取Web.config之外,所有内容都一样
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
我在这两个文件中都进行了尝试,发现无论在何处使用 5.0.0.0,那么所有的intellisense都能很好地工作在这些视图中,。
因此,的解决方案是:修改所有Web.config文件以使用factoryType兼容的版本。(5.0.0.0对我有用,但5.2.0.0不适用)
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<!--<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.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" />
</namespaces>
</pages>
</system.web.webPages.razor>我真的不知道为什么会发生这种情况,如果有人有更多的信息或更好的解决方案可以使用5.2.0.0,那么请分享:)
发布于 2014-12-20 22:29:32
我曾经有过这个问题。这解决了我的问题:
在Windows中打开项目的输出文件夹(通常是位于项目根目录的bin文件夹)并删除其中的所有内容。然后关闭解决方案并重新打开它。
希望这能有所帮助。
https://stackoverflow.com/questions/25566554
复制相似问题