ChatGPT解决这个技术问题 Extra ChatGPT

No ASP.NET MVC 5 Web Application Template on VS 2012?

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:

How can I add the MVC 5 project template to VS 2012?

Create and Run MVC 5 Project in VS 2012

Direct download link to ASP.NET MVC 5 for VS 2012

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.

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.
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.
@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 Express
@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.
@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.

n
nikib3ro

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


This worked great for me! Only small thing is that it didn't add the default Home controller and associated View, but that's no biggie. Thanks so much!
And, 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.
Rosdi Kasim's answer helped me get what I actually wanted :P
This feature is now available for VS.2012 at Web Platform Installer. Just search for ASP.NET and Web Tools 2012.2 and add to install: i.stack.imgur.com/pRTSe.jpg
f
forsvarir

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.


I think this should be the right answer. working great for me!
Thanks, just want to mention if like me you we unsure of how to add the template , just copy it under my documents , in the VS templates folder.
@Eamon system.web.mvc has recently been updated. The correct fix is to update the system.web.mvc reference via nuget.
nice one, that simply works! Only thing I'd mention is that if you are a dummy, like me, then don't be tempted to copy the contents of the zip file to the folder mentioned, you need to just copy the zip file itself. I know that's what the instructions say but I thought it worth repeating.
@laylarenee I found the direct link to the template. I have updated my answer to put the new link.
A
Anirudha Gupta

You have 2 option to fix it.

Install the latest 2013 version which have MVC5 support inbuilt (VS2013 missing MVC3 and ASPX file template (ASPX templates will be added in future)) 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


Option 2 worked for me. For a shorter path to the install and microsoft documentation. Go here: blogs.msdn.com/b/webdev/archive/2013/11/18/…
P
Paul Ayraud

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.


Note: The web config needs to have the assembly identities for the items such as web.helpers, webpage, mvc, razor, etc., set the correct version compatible with mvc 5. For example,
Please edit your question rather than posting information in comments.