Introduction to ASP.NET Core MVC on macOS, Linux, or Windows

By Rick Anderson

This tutorial teaches 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 Core MVC web development with controllers and views. If you're new to ASP.NET Core web development, consider the Razor Pages version of this tutorial, which provides an easier starting point.

There are 3 versions of this tutorial:


Install the following:

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 Kestrel 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 preceding browser image 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