Tutorial: Create a .NET Core console application using Visual Studio for Mac

This tutorial shows how to create and run a .NET Core console application using Visual Studio for Mac.


Your feedback is highly valued. There are two ways you can provide feedback to the development team on Visual Studio for Mac:

  • In Visual Studio for Mac, select Help > Report a Problem from the menu or Report a Problem from the Welcome screen, which will open a window for filing a bug report. You can track your feedback in the Developer Community portal.
  • To make a suggestion, select Help > Provide a Suggestion from the menu or Provide a Suggestion from the Welcome screen, which will take you to the Visual Studio for Mac Developer Community webpage.


Create the app

Create a .NET Core console app project named "HelloWorld".

  1. Start Visual Studio for Mac.

  2. Select New in the start window.

    New button on the Visual Studio for Mac Start screen

  3. In the New Project dialog, select App under the Web and Console node. Select the Console Application template, and select Next.

    New project templates list

  4. In the Target Framework drop-down of the Configure your new Console Application dialog, select .NET Core 3.1, and select Next.

    Select Target Framework

  5. Type "HelloWorld" for the Project Name, and select Create.

    Configure your new Console Application dialog

The template creates a simple "Hello World" application. It calls the Console.WriteLine(String) method to display "Hello World!" in the terminal window.

The template code defines a class, Program, with a single method, Main, that takes a String array as an argument:

using System;

namespace HelloWorld
    class Program
        static void Main(string[] args)
            Console.WriteLine("Hello World!");

Main is the application entry point, the method that's called automatically by the runtime when it launches the application. Any command-line arguments supplied when the application is launched are available in the args array.

Run the app

  1. Press (option+command+enter) to run the app without debugging.

    The terminal shows Hello World!

  2. Close the Terminal window.

Enhance the app

Enhance the application to prompt the user for their name and display it along with the date and time.

  1. In Program.cs, replace the contents of the Main method, which is the line that calls Console.WriteLine, with the following code:

    Console.WriteLine("\nWhat is your name? ");
    var name = Console.ReadLine();
    var date = DateTime.Now;
    Console.WriteLine($"\nHello, {name}, on {date:d} at {date:t}!");
    Console.Write("\nPress any key to exit...");

    This code displays "What is your name?" in the console window and waits until the user enters a string followed by the enter key. It stores this string in a variable named name. It also retrieves the value of the DateTime.Now property, which contains the current local time, and assigns it to a variable named date. Finally, it displays these values in the console window.

    The \n represents a newline character.

    The dollar sign ($) in front of a string lets you put expressions such as variable names in curly braces in the string. The expression value is inserted into the string in place of the expression. This syntax is referred to as interpolated strings.

  2. Press (option+command+enter) to run the app.

  3. Respond to the prompt by entering a name and pressing enter.

    Terminal shows modified program output

  4. Close the terminal.

Next steps

In this tutorial, you created a .NET Core console application. In the next tutorial, you debug the app.