Recently I was required to do enhancements to an old ASP.NET Projects. It is an ASP.NET MVC 2 project supplemented with Ext.NET. Since the enhancements are quite minor, and no major enhancements planned, there’s no good reason to upgrade to the later ASP.NET MVC version. Not to mention that we didn’t renew our Ext.NET license 😀
On the other hand, I recently upgraded my workstation to Windows 10. All my previous development tools (VS 2008 Pro, IntelliJ, VS 2012) also have been installed. So I expect nothing wrong with loading this old project in VS 2008. But I was wrong. I got the dreaded “the project type is not supported by this installation” error.
Possible Cause No. 1
I suspected that I forgotten to install ASP.NET MVC 2 Tools for Visual Studio 2008. So I went to Microsoft and download the installer. When I install it, it strangely complained that another version of MVC 2 is already installed. So I uninstall the installed ASP.NET MVC 2, then install again using the executable I just downloaded. It still failed.
Possible Cause No. 2
Could it be that Ext.NET prevented the project loading? From the project’s web.config, I can see that it is using Ext.NET v.1.xx. I vaguely remember that I need to install something in order to create Ext.Net project and to have intellisense on Ext.Net’s classes. Unfortunately, Ext.NET website doesn’t provide download for previous versions. 🙁 So, nothing can be done here.
Possible Cause No. 3
Could it be that this project is other that MVC 2? I open the .csproj in Notepad++ and found that the project type GUID is exactly just F85E285D-A4E0-4152-9332-AB1D724D3325. When I Google this GUID, it is exactly the GUID of ASP.NET MVC 2 project.
Out of desperation, I opened Visual Studio’s About window. Perhaps I missed any components.
Hmm, SP 1. Could this be the problem? Since I have no other way, I decided to uninstall Visual Studio 2008 SP 1 (9.0.30729.1) and install the previous version (without SP 1).
Lo and behold! Now I can load my ASP.NET MVC 2 project!.
Visual Studio 2008 SP 1 (9.0.30729.1) is not compatible with ASP.NET MVC 2 project (Project Type GUID: F85E285D-A4E0-4152-9332-AB1D724D3325).