Visual Studio 2015 Crashing when opening old razor views - asp.net-mvc

I've been trying to install VS 2015 Enterprise edition on my computer but keep running into an issue. Hunting through SO for the last 24 hours, I've already tried the devenv.exe /ResetUserData & clearing the VS cache fixes, uninstalling enterprise edition and installing professional edition (which still failed for the same reason) and then reinstalling enterprise edition. I've tried deleting the .vs folder before opening the solution, ensuring that the MVC versions in the /Views/ web.config matches the version of the sites web.config (MVC 5.2.3.0).
As of this morning, I've noticed that it only crashes when I try to open a razor view that wasn't created through Visual Studio 2015 (I was using VS 2012 previously, and I'm trying to work on this project in 2015 now that I have a license). I can right-click in the solution explorer to create a brand new view and write anything I want in it with intellisense and save it, and open it back up without any issues.
I get the whole "An exception has occurred, this may be caused by an extension" message and then visual studio restarts if I try to open up a view that was already created through VS 2012.
I've tried looking inside of the log that it provides but I'm a newer developer so I can't really deduce anything from it..I'll attach it if anyone else can make anything of it.
MS VS Enterprise 2015 - Version 14.0.25029.00 Update 2 RC - .NET Framework Version 4.6.01055
I just cleared out the ActivityLog.XML and forced the error to get a fresh set of details - http://pastebin.com/j7RbGJFP

I found the answer in this blog post - https://blogs.msdn.microsoft.com/webdev/2016/01/12/visual-studio-keeps-showing-suggested-extensions/. It has to do with the extensions suggestion - it turns out if you have files not included in your project, you can't view them because of a bug introduced through the extensions suggestion. If you turn that off and include the views in the project, VS won't crash and you'll have intellisense.

Related

Update 2 Error Adding MVC View

Last night, I updated Visual Studio 2015 on my system from RTM to Update 2. I now get an error message when I try to add a new View to an ASP.Net MVC application I am working on:
There was an error running the selected code generator:
'Expected 1 export(s) with contract name "NuGet.VisualStudio.IVs.PackageInstaller" but found 0 after applying applicable constraints.'
Any ideas on how to fix this? I had no trouble adding a few views to this project yesterday before I installed the update.
tl;dr - Reinstall NuGet Package Manager
I know this is an old thread. But I encounter the same error message today and found no solution online that works for me. So I decided to answer on this old thread for future devs that will encounter the same error message.
The reason for my case is that my NuGet Package Manager was missing.
I recently installed Wekan and it required me to install Visual C++ 2015 Build Tools, and I think that might be the culprit why NuGet was removed.
So, my solution is to download and reinstall NuGet Package Manager:
In Visual Studio open Extensions and Updates Tools > Extensions and Updates (or by pressing ALT+T+U)
On the left pane click Online and search for keyword NuGet Package Manager for Visual Studio 2015, download/install
Restart VS
These are the other solution that worked for some (didn't work for me):
Try clearing the ComponentModelCache, the cache will rebuild next time VS is launched.
Delete NuGet.Config at C:\Users\UserName\AppData\Roaming\NuGet, and restart VS
Unload/Reload project, Clean solution, Rebuild then restart VS
Updating the VS2015 will force you to update after that the whole work you have done so far. Most of the references specially NuGet are changed or outdated in 2015. I am currently using vs2013 with MVC5. I would suggest you to update the references and find a solution about this NuGet package. It might be no longer available for this view you want to add. In addition, there is a similar topic with Q&A to your and it is accessible right here: Unable to Install Any Package in Visual Studio 2015 . Take a look but VS2015 the free version is not that good for coding. Better download visual studio 2013 with update 5 and you will be much better. If you still want to keep it with VS2015, take a look at this and download it.
VS2015 NuGet Manager:
https://visualstudiogallery.msdn.microsoft.com/5d345edc-2e2d-4a9c-b73b-d53956dc458d

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

Resharper Navigate to MVC View

I recently upgraded to Resharper 8.1 and VS 2013
Before I could ctrl+click on a View to jump to it, but this no longer works. Is there a feature I need to enable to get it back?
PartialView("_MainMenu", viewModel);
Go to Resharper->Manage Extensions and click the Online tab. Then search for Resharper.ExternalAnnotations, and install the package it comes up with.
Finally go to Visual Studio Tools->Options and go to the Resharper->General options page. Click Suspend Now followed by Resume to restart Resharper.
About workaround for previous versions of ReSharper:
You can download package with annotations https://resharper-plugins.jetbrains.com/api/v2/package/ReSharper.ExternalAnnotations/8.1.1000.431 and unpack content of ReSharper\vAny\annotations\ folder to C:\Program Files (x86)\JetBrains\ReSharper\vX.Y\Bin\ExternalAnnotations, where X.Y is your version of ReSharper.
Better first to clean target folder up to avoid annotations duplicates.
ReSharper 8.2.1 (8.2.1000.4556) doesn't support MVC 5.2
EAP for 8.2 is closed
Bug registered
UPDATE:
FIXED: reply about fix from the Resharper team
You need to restart the VS and you will get notification about Update or run it manually from the Resharper => Extension Manager => Updates => Resharper.ExternalAnnotations (like in the Samuel answer)
There still seems to be an issue with ReSharper and navigating to MVC Views or having the QuickFix (Alt+Enter) functionality available on them in the latest (as of this writing) version of ReSharper - v8.2.3000.5176.
My MVC version is 5.2. My ReSharper version is 8.2.3000.5176. When I installed this it seemed to install the ExternalAnnotations that come bundled with the update, also versioned at the same version number.
I can fix the issue by uninstalling the ExternalAnnotations (version 8.2.3000.5176) and re-installing the latest version offered from the ReSharper Gallery (which is version 8.2.2001.1). After a Visual Studio restart, my MVC quick-fixes and View navigation is back.
Strangely, I also get prompted by ReSharper that extension updates are available, and it wants to upgrade my ExternalAnnotations to version 8.2.3000.5176. If I do this (and restart VS) everything breaks again. Downgrading back to version 8.2.2001.1 (and a VS restart) will, however, fix it again.
A number of other people are also reporting this issue on JetBrain's ReSharper blog post that announced ReSharper 8.2.3
So, if you're using MVC 5.2.x and ReSharper 8.2.3, try to downgrade the version of the ExternalAnnotations that you're using and see if that solves the issue.
UPDATE (5th November 2014):
There is now a new version of the ReSharper External Annotations available from the JetBrains "ReSharper Gallery". This new version is v8.2.3001 and I can confirm that once installed, this new version fixes the problem for me!
ReSharper 8.1 just doesn't support MVC 5.1
Latest EAP builds of ReSharper 8.1.1 do.
There should be no problems with running your ctrl+click and no additional configuration (enabling/disabling anything) should be needed. So it is most probably some bug.
Your situation might be connected with the following known issue reported here. It is connected with IntelliSense, not with Resharper directly, but they are both related to problems with navigating in Razor engine when having VS 2013 and newest ASP.NET MVC.
Below the summary of the issue description and some workaround to fix it:
MVC 5.1 Tooling Support and Razor IntelliSense are Still Broken Even
After Installing VS2013 Update 1 RC
Known issue:
If a VS2013 user installed “Microsoft ASP.NET and Web Tools 2013.1 for
Visual Studio 2013” before they install VS2013 Update 1 RC, they won’t
be able to get MVC 5.1 tooling support that comes with VS2013 Update 1
RC.
Symptom:
MVC 5.1 tooling support and Razor IntelliSense are still broken even
after installing VS2013 Update 1 RC.
Workaround:
From "Add/Remove Program", uninstall "Microsoft ASP.NET and Web Tools
2013.1 for Visual Studio 2013" Repair VS2013 RTM Install VS2013 update 1 RC if you have not yet installed it. If you have already installed
this, you don’t need to reinstall or repair it. From Web PI, reinstall
Microsoft ASP.NET and Web Tools 2013.1 for Visual Studio 2013 or
repair Azure SDK 2.2.
try ctrl+B while cursor some where on the View()

this template attempted to load component assembly Microsoft.VisualStudio.Web.Project

I just installed Visual Studio 2013 Ultimate trial version for completing the MVC5 tutorial by Rick Anderson, which worht doing it.
The tutorial: http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started.
However, I created a blank solution first and then try to add an ASP.Net Application project, which is going to be my MVC5 tutorial project. And I got this weird message:
Error: this template attempted to load component assembly
'Microsoft.VisualStudio.Web.Project, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a'. For more information on this problem
and how to enable this template, please see documentation on
Customizing Project Templates.
But I´m not customizing, I´m just creating a project out of a built in template.
Do you know how can I solve it?
Here is the solution:
In Visual Studio 2013, select Tools > Extensions and Updates
Check for updates. You should have the Azure SDK update available.
Download and install the Azure SDK. After this, everything should work fine.
If your updates are not turned on, enable your auto detection of updates in Tools > Options > Environment > Extensions.
If you have unspecified error related to E_fail(code), try this:
When creating a new MVC 5 application, change the framework version from 4.5.1 to 4.5, if that did not work change it to 4. Check the below image if it is not clear.
Another approach:
This is really important if you are installing Visual Studio 2013 on un-updated Windows 7.
there reason i am calling out "not updated is",
The reason that 'un-updated' matters is because Visual studio 2013 does not update the powershell that is required by VS2013 for most of the stuff.
The simple solution is to update Powershell to the latest version.
If you are not sure how to update powershell, you can use this tutorial.
So I stumbled upon this issue as well and would like to share how I was able to resolve this problem.
Tools -> Extensions and Updates -> Online -> NGet Package Manager: Click the download button once you have the NGet Package Manager selected. Make sure to restart your Visual Studio after you have downloaded the Manager.
This should do the trick
Close Visual Studio, run the VS executable with the command line option as shown below (you will likely have to supply the full path), and relaunch VS normally. This should re-initialize the templates, including the one that you are having problems with.
devenv.exe /installvstemplates
So I faced the same problem with Visual Studio 2013, and I don't know what's the problem but it appears that it only occurs when creating a new project, and choosing "Web" from the panel.
What I did was simply clicking on "Visual Studio 2012" just below it, and it worked !

VSIX Custom Checkin Policy not loading

I'm attempting to modify a custom Checkin Policy to work against Visual Studio 2013.
At first, I attempted to just add a new section to the manifest for 2013:
<VisualStudio Version="12.0">
<Edition>Ultimate</Edition>
<Edition>Premium</Edition>
<Edition>Pro</Edition>
</VisualStudio>
and whilst this allowed it to install, it doesn't allow the policy to run (if I go to the policies>>Add section of TFS it's not present, and the policies throws an exception stating that the Policy is not registered).
After much hunting around, I thought perhaps there was an issue with the Policies.pkgdef - The Extension manager in VS2013 shows it as installed, but it's not showing as installed at Pending Changes. However I can't see any issue with it either:
[$RootKey$\TeamFoundation\SourceControl\Checkin Policies]
"VersionOneTFSPolicy"="$PackageFolder$\VersionOneTFSPolicy.dll"
I've opened it and compiled it in 2013, and fixed any reference issues so that it will compile correctly, but it still doesn't seem to like using it.
Does VS2013 manage Custom Checkin policies differently to 2010/2012? From what I can see it should just work with a manifest change and a recompile.
Edit
So I managed to get the custom policy running on VS2013 by upgrading the reference to Microsoft.TeamFoundation.VersionControl.Client from 11 to 12 and upgrading the project to .Net 4.5. However, this now renders the custom policy unusable on VS2012 (and I would assume 2010 too but I haven't tested that yet). Is there a way to have this run on 2010 through to 2013 from a single VSIX?
In the absence of any other solution, I reverted to the tried and tested method of updating the extension and building it as a new package. So simply having a 2012 version and a completely separate 2013 version.
I am trying to solve this as well, and from everything I have found, the only way to get extensions that target all versions is to actually create 3 separate (2010, 2012 and 2013) extensions, and install them using an InstallShield package that has each one as sub-features that get installed in sequence.
Upgrades are then done on each one individually as the VSIX is actually doing the install.
Links that may help you out on this include:
Single extension targeting VS 2012 and VS 2013
How to target an extension in both VS2012 and VS2010

Resources