No Intellisense in views updating from ASP.NET MVC 4 to MVC 5

血红的双手。 提交于 2019-12-02 20:07:49
hatsrumandcode

ASP.NET and Web Tools 2013.1 for Visual Studio 2012 has now been released and should resolved the MVC5 intellisense issue with VS 2012.

This release brings a ton of great improvements, and include some fantastic enhancements to ASP.NET MVC 5, Web API 2, Scaffolding and Entity Framework to users of Visual Studio 2012 and Visual Studio 2012 Express for Web.

You can download the update: 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

Dennis Puzak

Went through the same agony, and was working without intellisense in views for about 3 weeks. Then I finally found it. It started working when I switched webpages setting to version 3 in web.config.

So in my web.config this was version 2.0.0.0, after i updated to 3.0.0.0 it started to work

  <appSettings>
    <add key="webpages:Version" value="3.0.0.0"/>
     ...
</appSettings>

Hopfully this was your issue to and will help becouse I feel your pain :)

--------------------------------------------------------

UPDATE: For others who are still looking for a fix for this issues in a post-MVC5 update, this helped me: In the ~/Views/web.config, updating from MVC 5.2.2.0 to 5.2.3.0 using Nuget did not update this line:

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

Updating 5.2.2.0 to 5.2.3.0 brought Intellisense back to life. You may have to close the view and re-open it to get the Intellisense to load.

I had try all that and other stuffs in my case the solution was changes this line that is in Views-WebConfig inside

  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

to

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
PTK

While the above answers may resolve most of these problems, my problem was apparently caused by a VS Extension I had installed. Please see Answer provided by Emran Hussain here: Visual Studio 2013 IntelliSense stops working for ASP.NET MVC5 Controllers

His answer was spot on for me, even though my problem was with intellisense on my Razor Views only. I disabled the extension, and restarted VS2013 and intellisense is working again with no problems. Like Emran, I'm hesitant to blame the maker of the extension (AzureXplorer by ClumsyLeaf software), because I think this may be a VS issue?

None of the previous solutions worked for me. I'm using VS 2012 and MVC 5. This is what I did to make it work:

  1. I installed Web Tools 2013 as explained in the following link: 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
  2. I checked /web.config and /Views/web.config and fixed some version issues. In my case I have MVC 5.2 so it was important to do a correct MVC biding like this:

Also, it's important to mark this:

<add key="webpages:Version" value="3.0.0.0" />

The tooltip of the "@model" tag at the very top of my razor view file stated that autofac 3.4.0.0 could not be found. All my projects used Autofac 3.1.5, so I added a redirect in web.config to quickly work around the issue:

<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>
        ...

My intellisense was back and I then deferred the final fix to a low prio task :D

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!