Presently MVC 4 Application in Visual Studio 2012 and 7 different types of project templates.
We will be explaining the Internet Application, Basic,, Intranet Application, Mobile Application, Empty and Web API project templates here.
The Empty template created the less references and resources needed to run an Asp.net MVC application.As you can see in following image, Controllers,Models, App_Data are fully vacant folders and View folder only include web.config and a Global.asax file.App_Start folder include 3 configuration files ( WebApiConfig.cs, RouteConfige.cs andFilterConfig.cs ).
This choice will be good if you plan to make everything from scratch.
After differentiate the Basic project image and Empty project image we can say that The Basic template is somewhat alike to Empty template. In respect to the Empty project , Content , Script folder are include in this template and Shared folder is available inside Views and also in App_Start folder rather than from the three files in empty, basic template added one more file named BundleConfig.cs.
Same like Empty Template,this choice will be good if you plan to make everything from scratch.
The Internet Application expand Basic Template with two controllers( Home controller and Account controller) with all the logic and functionality apply in actions and views.In Internet template MMF(membership management functionality) gives the choice to user to register, login and change password in the website.
The Intranet Application template is similar as the Internet Application template, rather than it is preconfigured to use Windows-based authentication.
Intranet template will be a good choice if you plan to create an intranet web site.
if you plan to create mobile application then this template is the right choice.
The Web API template is yet other variation of the Internet Application template that contains a preconfigured Web API controller.ASP.NET Web API is a framework that creates it easy to build HTTP services that achieve a broad area of clients, including browsers and mobile devices. ASP.NET Web API is an perfect platform for creating RESTful applications on the .NET Framework.
Web API is a better choice for fastly and easily creating data services that your AJAX-enabled applications can simply consume
If we want to make a Test project while creating the MVC project itself then we require to mark the Create Unit Test Project Check box. If you do not want to do this at the first time you can add a unit test project later also.
If we are making MVC Application with Test project then the solution explorer will look like below .