61
votes

I'm using Visual Studio 2012 and have just installed "Microsoft ASP.NET and Web Frameworks 2013.1 - Visual Studio".

As expected, it added the option to create an "ASP.NET MVC 5 Empty Project". The thing is, I see no way of jump-starting an already functional "base application" as I had when I was using MVC 4 (e.g. "Asp.NET MVC 4 Web Application"). I only see an empty template.

I've seen answers such as:

And found this article on the matter.

This is obviously not a show-stopper as I can always create the application from a scratch, but I still would like to know if it is possible to achieve that on VS 2012. Did I miss a step, or do I need VS 2013 for that? A fully functional Web application template (with authentication etc.) would be nice to dabble around MVC 5's new features or for prototyping.

4
This is an important topic as many azure tutorials depend on the files setup in that web application to connect to SQL Server. I need to figure this out as well.Eric Bishard
MVC 5 is meant to work with VS 2013 out of the box. Not so with VS 12. With the free VS Express 2013 web, there is no reason not to use 2013 for this.Greg Gum
@GregHollywood: How can that be no reason to use 2012 or 2012 paid versions of vs? UnitTests? Static code analysis? All of the nice goodies you get with the version you paid much won't be there in ExpressTseng
@Tseng, agreed. And I also have some paid dev. tools on 2012. I ended up using VS Express 2013 to generate the project (template/"skeleton") and then I worked on it using VS2012. User Sean Lynch provided a good answer in the meantime.user1987392
@Tseng, agreed. I much prefer the paid version, which I have and use (both 2012 and 2013). My point to the OP was that if he just wanted to play around with MVC 5, he could do so in the Express version for free.Greg Gum

4 Answers

78
votes

After creating a new project using ASP.NET MVC 5 Empty Project, you can right click on the project, then click Add.. > New Scaffolded Item..., select MVC on the left, then MVC 5 Dependencies and choose Full dependencies from the prompt.

This will add a default layout (Views\Shared\_Layout.cshtml), Content folder, Scripts folder with bootstrap, jquery, modernizr, etc, and other things the Web Application template creates.

If you get the error "CS0103: The name 'Styles' does not exist in the current context" just add <add namespace="System.Web.Optimization"/> under <namespaces> in Views/web.config

34
votes

The answer from Sean Lynch is nice but not really complete.

However there is this nice guy that took the time to prepare the template just like in Visual Studio 2013. You will get everything down to the bootstrap template and pre-configured database table for authentication.

All you need to do is change the DefaultConnection in Web.Config to you SQL Server and voila all the relevant authentication table will be created for you.

Archive of the original blog (by web.archive.org)

Update

The original blog is no longer online, but thankfully his template is still online. You can download the MVC5 Template for Visual Studio 2012 Here:

Direct link to MVC5 Template For Visual Studio 2012

And here is the excerpt from the original blog:


Installing the template is very simple, there are just two steps:

Copy it into the following folder of your computer (creating the directory structure if necessary):

%USERPROFILE%\Documents\Visual Studio 2012\Templates\ProjectTemplates\Visual C#\Web

Once you’ve done this, simply restart Visual Studio and you will have this template available in the dialog box to create a new project under “Visual C# > Web”.

Now you can create applications with a little more shape than the mere empty structure provided by default and enjoy the benefits of adopting Bootstrap and its responsive design, a full membership system and user authentication, bundles, filters, some content pages, etc.


1
votes

You have 2 option to fix it.

  1. Install the latest 2013 version which have MVC5 support inbuilt (VS2013 missing MVC3 and ASPX file template (ASPX templates will be added in future))

  2. stay with 2012 update 4. Read my old article to get it fixed http://geekswithblogs.net/anirugu/archive/2013/11/28/mvc-5-in-visual-studio-2012-update-4.-how-to.aspx

0
votes

I'm not using 2012 now, but rather 2013, and I see the mvc 5 template there. However, I did this a while back before I had any mvc 5 templates showing up by installing mvc 5 first. You should be able to download from http://www.asp.net/mvc/mvc5. Also make sure your target framework is set correctly. Then I updated the web config like this: You have to have the correct versions of the assemblies. I googled a lot to get this info, so it should still be available if you do some research.