Add View Context Menu in VS 2015 is Painfully Slow - asp.net-mvc

In my Visual Studio 2015 MVC project, when I right-click a menu under the Views folder
and select Add -> View... the dialog is painfully slow to appear (about 60 seconds slow).
Some contextual information that might be helpful:
Visual Studio 2015 Community Edition
Running on a Parallels VM w/8GB (so it probably shouldn't be this slow)
The project I'm working in has been upgraded from MVC 3 -> 4 -> 5.
ReSharper 10.0.1

I reinstall my operate system, the problem seems resolved. But it came again when my project rewrite the router in MVC5. So I guess the problem is in MVC Router.
If you build a new project, the problem will resolve. So check you MVC project, Especially if you have override your Router in MVC5.

Related

Reduced VS 2017 IDE interactivity in MVC 5 Razor views in 2015 project

I just installed VS 2017 and am opening an MVC 5 project created in VS 2015. The application runs fine, but I am experiencing reduced interactivity between my MVC Razor view code and the 2017 IDE.
Here's is the context menu when I right-click on an HTML helper method in VS 2015:
However, I only see this in 2017:
Also notice the lack of syntax color-coding in the 2017 verison. It's like it's not recognizing Razor syntax at all.
I did not do any special solution/project upgrades. I just opened the solution in 2017 and expected it to prompt me to upgrade any files that needed upgrading.
So it turns out that the component installation for VS 2017 is modular in that you have to install exactly what you need. This is different from 2015 (at least as far as I recall) where all components are included with the installation.
I have a tendency not to read entire pages and just focus on what seems like the "most comprehensive" option. In my case, I selected only Universal Windows Platform development (doesn't that just sound like everything you'd need?). If I bothered to look at all the components, I would have seen ASP.NET and web development.
So, after modifying my installation, I am now seeing all the Razor syntax in my views.
Repair your Visual Studio installation. This happened to me as well.
Go to Tools Options and customize menus and ribbons
also have a look: https://msdn.microsoft.com/en-us/library/wdee4yb6.aspx
and or: https://msdn.microsoft.com/en-us/library/wdee4yb6(v=vs.110).aspx
try reset the existing window layout or menus and options.
or repair your VS

New Asp.Net Project Template Dialog is empty

I have (just reinstalled) Visual Studio 2013 Professional (on Win 8.1) to try and fix this: If I try to create a new Web Project, for either .Net 4.5 or 4.5.1, then I see the screen below.
If I try to open an existing MVC 5 website (one I've just created through that wizard on another machine) - then it works just fine.
Equally, if I set the target framework to 4 then I get the previous MVC 4 template appear, and that works.
If I look in the Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\Web\CSharp\1033\ folder then I see WebApplication45 which appears to contain the content that this project template uses - so why is it broken!?
The machine did use to have VS2012 on it, and I notice that in the list of installed products for 2013 it has 'ASP.Net Web Frameworks and Tools 2012.2' - which I believe is a VS 2012 thing. So I'm wondering if that's interfering with it. But there's nothing on my Add/Remove programmes for this, so I don't know how to uninstall it!
Any help greatly appreciated before I throw my screen through the window :)
Please try the following:
Close VS, open Explorer and go to C:\Program Files (x86)\Microsoft Visual
Studio 12.0\Common7\IDE\PrivateAssemblies
Delete the following assemblies if they exist:
Microsoft.VisualStudio.Web.WindowsAzure.Contracts.dll
Microsoft.VisualStudio.Web.WindowsAzure.Explorer.dll
Microsoft.VisualStudio.Web.Internal.Contracts.dll
Restart VS
In Tools > Extensions and Updates:
Update to lates VS2013 update (it is Update 3 now)
Install if not installed Microsoft ASP.NET and Web Tools
Install if not installed ASP.NET Web Forms MVC 4
Install if not installed MS VS ASP.NET MVC 5 Scaffolding
I solved it by removing all programs connected with .Net development and SQL (just being really cutthroat) - not just Visual Studio; going down my installed programs list from top to bottom:
Visual Studio 2013, obviously
All .Net Framework SDKs and Language Targeting Packs
All Azure tools SDKs (some start with 'Azure', one starts 'Windows Azure')
All SQL Server stuff - possibly too much, but I didn't need them outside of VS
IIS Express
I then rebooted and deleted all remaining Microsoft Visual Studio folders (I had v10, 11 and 12) from Program Files (x86) and all remaining SQL Server folders. SQL is also in the x64 program files, and that's used legitimately by the OS, so might want to skip that one.
I then rebooted again and reinstalled 2013 with Update 3 - and now the new project dialog works as expected.
It's most likely the removal of just one of those things that fixed it (my money is on clearing down the VS folders).
I fixed this by deleting these files from C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies:
Microsoft.VisualStudio.Web.WindowsAzure.Contracts.dll
Microsoft.VisualStudio.Web.WindowsAzure.Explorer.dll
Microsoft.VisualStudio.Web.Internal.Contracts.dll
(based on http://blogs.msdn.com/b/bharry/archive/2014/08/04/vs-tfs-2013-3-update-3-released.aspx#10550199).

Create and Run MVC 5 Project in VS 2012

For some reason my Visual Studio 2013 Preview cannot create MVC 5 Projects. Since the MVC project is now open source in CodePlex I was wondering if there's a simple way to develop MVC 5 projects in my Visual Studio 2012 Ultimate.
Microsoft has released updated Web Tools 2013.1 that provide the support:
Description
Direct download
Note that I had to install it manually from the second link, the tools did not install properly from Web Platform Installer. Also a colleague had to install both Update 4 and these tools to get proper support.
Original answer (not actual anymore):
I received this answer from Microsoft developer:
MVC 5/Razor 3 tooling support for VS 2012 has not shipped yet. We hope to ship this support in Mid November.
Recently ASP.NET Program Manager from Microsoft mentioned in a talk that this would be included in VS2012 Update 4. Edit: unfortunately the support is not in Update 4.
So the accepted answer is true for now but we can plan to soon have this support in VS2012 as well.
A new tutorial has been recently added to the ASP.NET website on how to upgrade an MVC4 project to MVC5.
I migrated a VS 2012 project using this tutorial without problems, but there is no design time support for Razor 3 in VS2012 due to changes in the way VS loads the razor engine.
You can edit razor pages in VS2012, but it will be a plain HTML editor.
Microsoft has released an update for this, Web Tools 2013.1 for VS2012.
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
I'm not sure MS will fix it.
The bug report says problem closed : by design
https://connect.microsoft.com/VisualStudio/feedback/details/806348/razor-intellisense-does-not-work-in-visual-studio-2012-after-upgrading-to-mvc-5-razor-3
and it is mid November
I have a tutorial that will not only get your empty MVC 5 project working with Bundling, a controller, jQuery, jQuery UI, Modernizr and more, but it will walk you through installing Zurb's Foundation 5, a responsive Framework which I have working with Sass in MVC 5. It's all here:
http://tinyurl.com/VS12-MVC5-F5
The problem many have ran into is that Visual Studio 2012 only allows you to start from a blank MVC 5 project, so I will help you get the NuGet installed which is pretty similar to the instructions in the NuGet package with a few minor changes; however, it does not take into consideration that you will be installing from Visual Studio 2012 using a Blank MVC 5 project. If you would like to use Foundation 5 with MVC 4 Web Application template just omit the Bootstrap uninstall and the NuGet package should work fine, but if you need to use MVC 5 and you don’t have Visual Studio 2013, you will need to build the Home Controller, Bundling class, modify the Global.asax.cs as well as other quirky little things. So lets get started.
I spent a good part of a few hours getting it all working.

How do I open an old MVC project in Visual Studio 2012 or Visual Studio 2013?

I have an old ASP.NET MVC 2 project which I do not want to upgrade to MVC 3 or MVC 4. I am working on a new machine running Windows 8, Visual Studio 2012 and Visual Studio 2013. When I try to open the MVC 2 project in VS 2012 or VS 2013 I receive the error:
This project is incompatible with the current edition of Visual Studio
The project is then unloaded and grayed out in Solution Explorer. I do not want to install another copy of Visual Studio. How can I open an old MVC project in a new version of Visual Studio?
Opening an unsupported MVC project in Visual Studio 2012 or Visual Studio 2013 is actually pretty easy to accomplish with two steps. In fact, as bytebender’s comment indicates, these same steps should apply to and work for MVC 1 projects. However, I haven’t tested them and therefore cannot guarantee that they do in fact work.
Assuming that you have not already done so step one is to download and install MVC 1, MVC 2 or MVC 3 (close Visual Studio before starting the installation).
Once you have the appropriate flavor of MVC installed the project will still not load in VS 2012. This is because ASP.NET MVC projects are a project subtype of the Web Application project type. This means that the project has additional add ins and features available to it when used within Visual Studio.
Both Visual Studio 2012 and Visual Studio 2013 are limited in their backwards compatibility with ASP.NET MVC and other project types. Unfortunately, installing the old MVC bits did not change that. Visual Studio 2012 is compatible with the ASP.NET MVC 3 and 4 project flavors. Visual Studio 2013 is compatible with MVC 4 and MVC 5.
To get the project to load you will have to modify the project file. To do so right click on the unloaded project and select Edit. Which will open the project file as an XML text file. Find the ProjectTypeGuids node which should look something like this:
<ProjectTypeGuids>
{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>
Remove the appropriate Project Guid from the list:
ASP.NET MVC 1: {603c0e0b-db56-11dc-be95-000d561079b0}
ASP.NET MVC 2: {F85E285D-A4E0-4152-9332-AB1D724D3325} (shown in example above)
ASP.NET MVC 3: {E53F8FEA-EAE0-44A6-8774-FFD645390401}
ASP.NET MVC 4: {E3E379DF-F4C6-4180-9B81-6769533ABE47}
With the appropriate GUID removed the ProjectTypeGuids should look similar to this:
<ProjectTypeGuids>
{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>
Save the file and close the Visual Studio project file editor. Right click the project and select reload. If the project does not reload close and reopen Visual Studio. You should now be able to work with your old ASP.NET MVC project in your new version of Visual Studio.
One important thing to note is that after these modifications Visual Studio is not aware that this is an ASP.NET MVC project; therefore the project-specific features like "Add Controller, View etc." will not be present in menus.
I used #ahsteele's approach (thanks and 2x+1s!), but was having one further error:-
.csproj : error : The operation could not be completed. Invalid class string
I can't find any citations for the real cause of that, but I was able to get VS2012RTM to load the project successfully by changing the <ProjectGuid>. (No idea how this happened - its part of a large solution and VS08, VS10, VS11 Beta and VS2012RC have all upgraded the .csproj and .sln over time.
In VS2017 the solution is to just make it like <ProjectTypeGuids></ProjectTypeGuids> so.
No Spaces in between ladies and gentlemen, otherwise it will waste 48 hours of your time.
Regards

ASP.net MVC 3 project files not showing up in new project dialog?

I installed ASP.net MVC 3 on my dev machine yesterday using the web-based installer, did a clean reboot, etc.
The MVC 3 projects still don't appear in my New Project dialog, only the MVC 2 ones. Am I missing a step?
The answer (in this case): Make sure you have the .net 4 runtime selected at the top of the new project dialog.
If you're using Visual Studio 2008, it won't show up since it's available for VS 2010 / .NET 4 only. If however you are using VS 2010 and .NET 4, they should appear unless something wonky occurred with the install.

Resources