我刚刚将mvc4项目(使用vs2012)更新为mvc5。在遇到很多与依赖关系有关的问题后,我终于找到了this tutorial并将其弄平,以便构建没有问题但是,我必须对任何视图(.cshtml文件)进行智能感知:@using,@ model ,@ html。*,@ styles ......什么都行不通。我必须打破剃刀视图引擎无法正确解析它们的引用。我已经仔细检查了web.configs,看不到任何东西。有任何想法吗?谢谢。
答案 0 :(得分:28)
经历了同样的痛苦,并且在视觉中没有智能感知工作大约3周。 然后我终于找到了它。当我在web.config中将网页设置切换到版本3时,它开始工作。
所以在我的web.config中这是版本2.0.0.0,在我更新到3.0.0.0后它开始工作
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
...
</appSettings>
跳跃这是你的问题,并将帮助因为我感到你的痛苦:)。
<强> -------------------------------------------- ------------ 强>
更新:对于在MVC5更新后仍在寻找此问题修复的其他人,这对我有帮助:在~/Views/web.config
中,从MVC 5.2.2.0更新到5.2.3.0使用Nuget没有更新这一行:
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
将5.2.2.0
更新为5.2.3.0
使智能感知恢复了生机。您可能必须关闭视图并重新打开它才能加载Intellisense。
答案 1 :(得分:17)
ASP.NET和Web Tools 2013.1 for Visual Studio 2012现已发布,应解决VS 2012的MVC5 intellisense问题。
此版本带来了大量改进,包括一些 ASP.NET MVC 5,Web API 2,Scaffolding和 Visual Studio 2012和Visual Studio 2012用户的实体框架 Express for Web。
答案 2 :(得分:7)
我尝试了所有这些和其他东西在我的情况下,解决方案是改变这一行在Views-WebConfig里面
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
到
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
答案 3 :(得分:1)
虽然上述答案可以解决大部分问题,但我的问题显然是由我安装的VS扩展引起的。请参阅Emran Hussain在这里提供的答案:Visual Studio 2013 IntelliSense stops working for ASP.NET MVC5 Controllers
他的答案对我来说很明显,尽管我的问题仅在于我的Razor Views中的intellisense。我禁用了扩展,并重新启动VS2013并且intellisense再次正常工作,没有任何问题。像Emran一样,我很谴责扩展的制造者(ClumsyLeaf软件的AzureXplorer),因为我认为这可能是一个VS问题?
答案 4 :(得分:1)
以前的解决方案都不适合我。我正在使用VS 2012和MVC 5.这就是我做的工作:
我检查了/web.config和/Views/web.config并修复了一些版本问题。在我的情况下,我有MVC 5.2所以重要的是做一个正确的MVC biding这样:
此外,重要的是要标记:
<add key="webpages:Version" value="3.0.0.0" />
答案 5 :(得分:0)
&#34; @ model&#34;的工具提示我的剃刀视图文件顶部的标签声明无法找到autofac 3.4.0.0。我的所有项目都使用了Autofac 3.1.5,所以我在web.config中添加了一个重定向来快速解决这个问题:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.1.5" />
</dependentAssembly>
...
我的intellisense回来了,然后我将最终修复推迟到低prio任务:D