Getting started with ASP.NET Core MVC on Mac, Linux, or Windows

By Rick Anderson

This tutorial will teach you the basics of building an ASP.NET Core MVC web app using Visual Studio Code (VS Code). The tutorial assumes familarity with VS Code. See Getting started with VS Code and Visual Studio Code help for more information. This tutorial teaches ASP.NET MVC Core with controllers and views. Razor Pages is a new alternative in ASP.NET Core 2.0, a page-based programming model that makes building web UI easier and more productive. For a Razor version of this tutorial see Razor Pages Tutorial.

There are 3 versions of this tutorial:

Install VS Code and .NET Core

Download and install:

Create a web app with dotnet

From a terminal, run the following commands:

mkdir MvcMovie
cd MvcMovie
dotnet new mvc

Open the MvcMovie folder in Visual Studio Code (VS Code) and select the Startup.cs file.

  • Select Yes to the Warn message "Required assets to build and debug are missing from 'MvcMovie'. Add them?"
  • Select Restore to the Info message "There are unresolved dependencies".

VS Code with Warn Required assets to build and debug are missing from 'MvcMovie'. Add them? Don't ask Again, Not Now, Yes and also Info - there are unresolved dependencies  - Restore - Close

Press Debug (F5) to build and run the program.

running app

VS Code starts the Kestrel web server and runs your app. Notice that the address bar shows localhost:5000 and not something like That's because localhost is the standard hostname for your local computer.

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

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

Visual Studio Code help