Visual Studio doesn't recognize #model directive - asp.net-mvc-3

I'm having trouble getting Visual Studio to recognize the #model directive in MVC3. As a result, I'm not getting any Intellisense help. For example, I just loaded up the standard base MVC3 project in Visual Studio and it shows all sorts of errors in LogOn.cshtml since it can't figure out what the view model is. However, if I run the application everything works just fine. So I guess this is more of an annoyance than anything else.

If you have installed the ASP.NET MVC 3 Tools Update make sure you have set the webpages Version in your web.config:
<appSettings>
<add key="webpages:Version" value="1.0.0.0"/>
...
</appSettings>
Then simply close and reopen the view and syntax highlighting and Intellisense should come back.
UPDATE:
Reinstalling ASP.NET MVC 3 Tools Update solves the problem.

Related

Missing razor intellisense and keyboard shortcut behavior in MVC 5 - visual studio 2012 with Resharper

I have started an MVC 5 empty project and imported most of my stuff from another project to this one using most of this link. However I soon found out that I was having other kinds of troubles. I have since then downloaded ASP.NET and Web Tools 2013.1 for Visual Studio 2012 and installed it, and it only solved my problem partially.
As of right now my Razor syntax works, but I lost some really nice functionalities. Here's an example:
<li>
Orders
</li>
Today's date: #System.DateTime.Now
So when I type the #System.DateTime.Now line, the intellisence does work and offers the good options. However, if I type the Orders, as of before when writing the SearchOrders line the intellisence would provide the names of the actions included in the controller, however with MVC 5 and Visual Studio 2012 it is no more the case.
So if I type a missing action the support will not anymore warn me that the action is missing, nor will it offer me to create the action in my controller, and so on. In the same way, if I hit F12 on a View() line, Visual Studio 2012 will open the metadata class instead of showing the .cshtml file.
Is there something missing to gain back those functionalities? I've tried with an MVC 4 Web Application framework and things were working fine.
EDIT after user Erik pointed out that it was related to Resharper's code completion and other features, I am now searching as to why Resharper v 7.1.x does not seem to be able to deal with MVC 5 and its features.
As Erik Funkenbush (see comments on my main post) mentioned, the data lacking was actually part of Resharper's behavior and was not related, as I thought, to Visual Studio.
The main question was why Resharper 7.1.x did not seem to be able to cope with MVC 5 - Razor 3. I have not found the answer to that question, but I have installed Resharper 8 and all those lost functionality are back.
So if you ever stumble upon this problem, try an updated version of Resharper, it might be your solution.

Visual Studio 2013 IntelliSense stops working for ASP.NET MVC5 Controllers

I am facing a weird problem in my Visual Studio 2013 ASP.NET MVC 5 project. All of a sudden, the IntelliSense in the Controller classes of the MVC 5 project are not working at all.
I have other class library projects in my solution and IntelliSense is working in those class library project files, but the problem is only within the MVC project. Usually these kinds of problems are solved by restarting Visual Studio: not only did I restart Visual Studio, but I also restarted my computer, and the IntelliSense problem is not getting fixed at all.
Are there any other steps that can get me IntelliSense back?
Close Visual Studio. Delete the <ProjectName>.v12.suo file. Reopen solution.
Resetting my settings or importing previously exported, working settings, and restarting Visual Studio worked: Tools > Import and Export Settings... > Reset all settings.
EDIT: This keeps happening to me, surprisingly often in VS Express, and occasionally in VS Professional. One thing I noticed in Pro, is that it has happened after unexpected shut downs (when IT forces a reboot in the middle of the night). So it may be related to Visual Studio not closing correctly. The technique described above has worked every time.
Tools > Options > Text Editor > C# > General
Make sure that "Auto List Members" is checked
I have found one way to solve the problem. That is,
1. -> Remove the ASP.NET MVC Project from Solution,
2. -> Then, add the MVC Project back to the Solution.
By doing these steps, I can get the Intellisense again. But, I am not happy with this solution though, because, next time when I double click the Solution file to open the solution, I see the intellisense is not working again. I would like to know the real reason why it is behaving like that.
EDIT:
Finally, I figured out that it was a 3rd party visual studio extension which was causing the problem. In order to find out that extension, I removed all extensions and then, added the extensions one by one and stopped where I found the culprit extension that was taking my sleep away :).
You can unload project and reload the MVC project from solution
Right Click on MVC project in solution explorer -> "Unload Project"
Right Click on MVC project in solution explorer -> "Reload Project"
After this the Intellesense rework quickly.
Tools -> Options
Text Editor -> C# -> Intellisense
Ensure "Show completion list after a character is typed" is checked
VS2013 intellisense code completion
I'm not sure why it occurs, but when it happens to me I can recover Intellisense by simply restarting Visual Studio.
You're right, it's really annoying.
Sometimes RESET of VS settings can help:
TOOLS->Import and Export Settings Wizard->Reset all settings->checkbox "No, just reset settings, overwriting my current settings"->Next>Next>Next
I had messed them with RESHARPER, and this helped.
I found that the best way to fix IntelliSense issues is to simply unload the project in the solution explorer and load the project again. After that IntelliSense is always working for me and I do not loose bookmarks, breakpoints or any other settings.
I have found that if the build fails then the Intellisense seems to break. After fixing my build errors and rebuilding the project the Intellisense will work after reloading the particular Razor file.
In my case, restart didn't work.
So I did the following weird steps :
Closed the solution
Opened another solution
Verified that intellisense worked in this other solution.
Closed the other solution
Finally, reopened the first solution.
And the intellisense worked again.
Usually this happens when the buffers have an error in them. Most of the time the local cache error is cleared when you close a, windows form, for example and reopen therefore reloading it into memory. Many of the solutions above work but sometimes it as as simple as closing the item and designer and reopening the item.
Additionally you can try to force a reset by
Ctrl+K, Ctrl+I shows quick info
Ctrl+Shift+Space shows you param info
I tried lots of things which didn't work. In the end, I cut code to clipboard, recreated the controller and pasted code in. Problem solved!
I too have the same issue with Intellisense in my Text editor.
i just close example.cs file which is not providing Intellisense
and reopen that class without restart Visual Studio it
works for me.
Note : i don't have the same issue with all the .CS file in Solution Explorer
I use VS 2013 and I had the same problem.
My solution was update VS to last version. I my case Update 4.
Simply reference in project must match with assembly in GAC on computer (OS). Intellisense come from VS not from project.
I hope that will handy for some one.
... Yet another answer - but this was the cause of my pain: I'd installed Developer Assistant which had been working nicely but suddenly stopped providing suggestions. To get it working again:
options -> developer assistant -> Intellisense -> Default Visual Studio Intellisense
Took me 5 hours to find that :(
HTH.
Tools->Options->Text Editor->C# (or All Languages)->General
check the check box for enable Auto List Members and Parameter Information in right hand side pane.
If its not selected,select it.
Save everything and restart Visual Studio!
I get this exact same thing every time I work with one particular MVC5 project.
Restarting VS2013 does not work.
Deleting suo files does not work.
Resetting all tools settings does not work.
The only thing that ever works is removing the project from the solution and adding it again.
Seeing as I have to do this every day is is really quite annoying.
Especially when I have it set to reopen the last files I had open, I then need to track down the ones I was working on and re-open them instead of the popping up automagically..
I'm using VS 2013 with MVC 5. The solution for me was to add the following to Web.config:
<compilation debug="true" targetFramework="4.5.1">
<assemblies>
<add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Optimization, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
Rushonerok's solution works great for me.
For anyone who doesn't know: <ProjectName>.v12.suo is a hidden file in project root folder. You must set on "Show hidden files" in your file browser to see it.
So far some these solutions have not worked for me.
I have the following Workaround
Simply declare the type you want to use explicitly in a new variable and use that instead of Model.
#model MyModel
MyModel mymodel = Model;
#mymodel.MyIntelisenseIsWorkingAgain
To solve this I closed Visual Studio Express 2013 and I reopened the Solution but double clicking on its .sln file directly from the file system. Opening it from the Start Page had my controllers intellisense broken.
Closing and opening the Visual Studio Solution worked for me.
Sometimes you close it by mistake. Try ctrl+space for windows or cmd+space for mac to turn it on.
I know I'm a bit late, but adding this to my App.config file did the trick!
<system.web>
<compilation>
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
</system.web>

Browser Link JavaScript breaks on debugging WebForms project - Expected Identifier

Upon debugging an ASP.NET WebForms project, I'm shown an error dialog in Visual Studio 2013.
The Browser Link feature includes a handful of pre-generated or runtime-generated JavaScript.
JavaScript critical error at line xyz column abc in http://local.host/foo/browserLink\n\nSCRIPT1010:
Expected Identifier
This is on setting the line label.for = id;
How can I avoid this error?
Visual Studio 2013 Ultimate
IE 11
Windows 8.1 Pro
You'll find the problem is the new Browser link feature.
You can disable it, it solved my issue with IE7 and below when debugging.
for is a reserved word. You either have to choose another name or do label["for"] = id;
IE doesn't accept reserved javascript words.
Adding the entry below to web.config resolved the issue for me.
<appSettings>
<add key ="vs:EnableBrowserLink" value="false"/>
</appSettings>

Error when creating a Partial View in Visual Studio 2012 Express with Razor

I am creating a view in Microsoft Visual Studio 2012 Express and I want it to be a strongly-typed partial view, but I am getting the following error:
C:\Program Files(x86)\Microsoft Visual Studio 11.0\Common7\IDE\VWDExpress\Item Templates\CSharp\Web\MVC 4\CodeTemplates\AddView\CSHTML\Empty.tt(-1,1) : error : There was a problem getting an AppDomain to run the transformation from the host. The process cannot continue.
I have not had any trouble creating views that are not partial views, strongly-typed or not.
Is simple...
Just restart Visual Studio.
http://blog.jongallant.com/2012/07/appdomain-process-cannot-continue.html#.UQwtQs6mg1I
I was using Visual Studio 2013 Professional and had the same issue and none of the following worked for me-
Restarted VS- didn't helped
There was no <NetFx40_LegacySecurityPolicy enabled="true" /> in devenv.exe.config file
Reinstalled Nuget Package Manager from VS > Tools > Extensions and Updates
Reinstalled MVC4 from Microsoft
Then I repaired my VS installation from Control Panel > Add/Remove Programs and my issue was resolved. I don't know what went wrong but this certainly needs attention by Microsoft Guys. Hope my answer helps out somebody in need.
I was using VS12 and Updated to VS13, i was unable to create views and was getting the above error, I just updated Nuget Package Manager by going in Tool --> Extension and Updates and everything worked fine for me.
As I was having same issue, I realized that this workaround may work for some of us, but... In my case, it did not work. But changing the devenv.exe.config, removing the line
<NetFx40_LegacySecurityPolicy enabled="true" />
did the trick. Hope it helps those like me, need to have that anoying thing for some older solutions... ;)

"Bogus" Web project requires missing web component message for razor

Using Visual Studio 2010, MVC 3 (release version) I'm getting this error when opening a specific project which was a traditional web forms project to which I've added MVC:
"The Web project '' requires missing web components to run with Visual Studio. Would you like to download and install the using the Web Platform Installer now?
ASP.NET Web pages with Razor syntax."
I have MVC installed and fully running. Other pure MVC and another mixed Web Forms/MVC project open without any issue.
Clicking "Yes" appears to go through downloading and installing, but the error remains.
Clicking "No" opens the project, where I have intellisense and syntax highlighting for Razor, all my MVC context items (Add View, Add Controller, etc.). In short, everything appears to be working just fine except for what appears to be a bogus error message.
I've done a file compare of the sln, csproj and web.config files and added everything that appears relevant. Prior to doing that I was missing some entries in ProjectTypeGuids the addition of which got the MVC context menus and Razor intellisense working. I tried resetting the ProjectGuid but I still get the error.
I have also previously gone through uninstalling MVC3, MVC2, ASP.NET Web Pages, repairing Visual Studio, installing MVC 3 from the stand-alone installer, and probably a couple more things. I have not yet tried a full system reinstall. I am working from a relatively clean Windows 7 installation. It was a fresh setup about 2 weeks ago and only VS 2010 has been installed (no older versions or betas).
I'm out of ideas at this point. Anyone got any suggestions? I'm a bit confused since this is project-specific, yet the error message indicates that the problem is with Visual Studio.
Update: it gets a little more interesting. Another developer was able to open the same project on his machine without any errors or warnings. So it's something specific to this project on my workstation. At this point I'm willing to write it off as some obscure edge-case bug.
Update 2: And now after rebooting for a system update it's working on my workstation. Definitely some sort of edge-case, and definitely not something I can reproduce.
You can see from the updates, that the problem has gone away after a system-update prompted reboot. So if anyone else has ended up here with a similar problem and you've gone through all the other possibilities, try rebooting.

Resources