Get started with ASP.NET Core MVC and Visual Studio

By Rick Anderson

This tutorial teaches ASP.NET Core MVC web development with controllers and views. Razor Pages is a feature of the ASP.NET Core MVC framework that makes building and testing web UI easier and more productive. You can use Razor pages alongside controllers and views in the same project.

We recommend you try the Razor Pages tutorial before the MVC/Controller/Views version. The Razor Pages tutorial:

  • Is the preferred approach for new application development.
  • Is easier to follow.
  • Covers more features.

If you choose this tutorial over the Razor Pages version, let us know why in this GitHub issue.

There are 3 versions of this tutorial:

Install Visual Studio and .NET Core

Visual Studio 2017 version 15.7.3 or later with the following workloads:

  • ASP.NET and web development
  • .NET Core cross-platform development

Create a web app

From Visual Studio, select File > New > Project.

File > New > Project

Complete the New Project dialog:

  • In the left pane, tap .NET Core
  • In the center pane, tap ASP.NET Core Web Application (.NET Core)
  • Name the project "MvcMovie" (It's important to name the project "MvcMovie" so when you copy code, the namespace will match.)
  • Tap OK

New project dialog, .Net core in left pane, ASP.NET Core web

Complete the New ASP.NET Core Web Application (.NET Core) - MvcMovie dialog:

  • In the version selector drop-down box select ASP.NET Core 2.1
  • Select Web Application(Model-View-Controller)
  • Tap OK.

New project dialog, .Net core in left pane, ASP.NET Core web

Visual Studio used a default template for the MVC project you just created. You have a working app right now by entering a project name and selecting a few options. This is a basic starter project, and it's a good place to start,

Tap F5 to run the app in debug mode or Ctrl-F5 in non-debug mode.

running app

  • Visual Studio starts IIS Express and runs your app. Notice that the address bar shows localhost:port# and not something like example.com. That's because localhost is the standard hostname for your local computer. When Visual Studio creates a web project, a random port is used for the web server. In the image above, the port number is 5000. The URL in the browser shows localhost:5000. When you run the app, you'll see a different port number.
  • Launching the app with Ctrl+F5 (non-debug mode) allows you to make code changes, save the file, refresh the browser, and see the code changes. Many developers prefer to use non-debug mode to quickly launch the app and view changes.
  • You can launch the app in debug or non-debug mode from the Debug menu item:

Debug menu

  • You can debug the app by tapping the IIS Express button

IIS Express

The default template gives you working Home, About and Contact links. The browser image above doesn't show these links. Depending on the size of your browser, you might need to click the navigation icon to show them.

navigation icon in upper right

If you were running in debug mode, tap Shift-F5 to stop debugging.

In the next part of this tutorial, we'll learn about MVC and start writing some code.

Install one of the following:

Create a web app

From Visual Studio, select File > New > Project.

File > New > Project

Complete the New Project dialog:

  • In the left pane, tap .NET Core
  • In the center pane, tap ASP.NET Core Web Application (.NET Core)
  • Name the project "MvcMovie" (It's important to name the project "MvcMovie" so when you copy code, the namespace will match.)
  • Tap OK

New project dialog, .Net core in left pane, ASP.NET Core web

Complete the New ASP.NET Core Web Application (.NET Core) - MvcMovie dialog:

  • In the version selector drop-down box select ASP.NET Core 2.-
  • Select Web Application(Model-View-Controller)
  • Tap OK.

New project dialog, .Net core in left pane, ASP.NET Core web

Visual Studio used a default template for the MVC project you just created. You have a working app right now by entering a project name and selecting a few options. This is a basic starter project, and it's a good place to start,

Tap F5 to run the app in debug mode or Ctrl-F5 in non-debug mode.

running app

  • Visual Studio starts IIS Express and runs your app. Notice that the address bar shows localhost:port# and not something like example.com. That's because localhost is the standard hostname for your local computer. When Visual Studio creates a web project, a random port is used for the web server. In the image above, the port number is 5000. The URL in the browser shows localhost:5000. When you run the app, you'll see a different port number.
  • Launching the app with Ctrl+F5 (non-debug mode) allows you to make code changes, save the file, refresh the browser, and see the code changes. Many developers prefer to use non-debug mode to quickly launch the app and view changes.
  • You can launch the app in debug or non-debug mode from the Debug menu item:

Debug menu

  • You can debug the app by tapping the IIS Express button

IIS Express

The default template gives you working Home, About and Contact links. The browser image above doesn't show these links. Depending on the size of your browser, you might need to click the navigation icon to show them.

navigation icon in upper right

If you were running in debug mode, tap Shift-F5 to stop debugging.

In the next part of this tutorial, we'll learn about MVC and start writing some code.