자습서: Visual Studio를 사용하여 .NET 콘솔 애플리케이션 만들기

이 자습서에서는 Visual Studio 2022에서 .NET 콘솔 애플리케이션을 만들고 실행하는 방법을 보여 줍니다.

사전 요구 사항

앱 만들기

“HelloWorld”라는 .NET 콘솔 앱 프로젝트를 만듭니다.

  1. Visual Studio 2022를 시작합니다.

  2. 시작 페이지에서 새 프로젝트 만들기를 선택합니다.

    Create a new project button selected on the Visual Studio start page

  3. 새 프로젝트 만들기 페이지의 검색 상자에 console을 입력합니다. 다음으로 언어 목록에서 C# 또는 Visual Basic을 선택한 다음 플랫폼 목록에서 모든 플랫폼을 선택합니다. 콘솔 애플리케이션 템플릿을 선택한 후 다음을 선택합니다.

    Create a new project window with filters selected

    .NET 템플릿이 표시되지 않으면 필요한 워크로드가 없을 수 있습니다. 원하는 항목을 찾을 수 없나요? 메시지에서 추가 도구 및 기능 설치 링크를 선택합니다. Visual Studio 설치 관리자가 열립니다. .NET 데스크톱 개발 워크로드가 설치되어 있는지 확인합니다

  4. 새 프로젝트 구성 대화 상자의 프로젝트 이름 상자에 HelloWorld를 입력합니다. 다음을 선택합니다.

    Configure your new project window with Project name, location, and solution name fields

  5. 추가 정보 대화 상자에서 .NET 6(장기 지원) 을 선택한 다음, 만들기를 선택합니다.

    이 템플릿은 콘솔 창에 ‘Hello World’를 표시하는 간단한 애플리케이션을 만듭니다. 코드는 program.cs 또는 program.vb 파일에 있습니다.

    Console.WriteLine("Hello, World!");
    
    Imports System
    
    Module Program
        Sub Main(args As String())
            Console.WriteLine("Hello World!")
        End Sub
    End Module
    

    사용하려는 언어가 표시되지 않으면 페이지 맨 위에 있는 언어 선택기를 변경합니다.

  6. C#의 경우 코드는 콘솔 창에 "Hello World!"를 표시하는 메서드를 호출 Console.WriteLine(String) 하는 줄일 뿐입니다. Program.cs의 내용을 다음 코드로 바꿉니다.

    namespace HelloWorld
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
            }
        }
    }
    
    ' This step of the tutorial applies only to C#.
    

    이 코드는 String 배열을 인수로 사용하는 단일 메서드 Main으로 Program 클래스를 정의합니다. Main은 애플리케이션 진입점으로, 애플리케이션을 시작할 때 런타임에 의해 자동으로 호출되는 메서드입니다. 애플리케이션이 시작될 때 제공되는 모든 명령줄 인수는 args 배열에서 사용할 수 있습니다.

    최신 버전의 C#에서는 최상위 문이라는 새로운 기능을 사용하면 Program 클래스와 Main 메서드를 생략할 수 있습니다. 대부분의 기존 C# 프로그램은 최상위 문을 사용하지 않으므로 이 자습서에서는 이 새 기능을 사용하지 않습니다. 그러나 C# 10에서 이 기능을 사용할 수 있으며 프로그램에서 사용 여부는 스타일 기본 설정의 문제입니다.

앱 실행

  1. Ctrl+F5를 눌러 디버깅 없이 프로그램을 실행합니다.

    화면에 "Hello World!" 텍스트가 인쇄된 콘솔 창이 열립니다.

    Console window showing Hello World Press any key to continue

  2. 콘솔 창을 닫으려면 아무 키나 누릅니다.

앱 향상

사용자에게 이름을 입력하라는 메시지를 표시한 다음 사용자 이름을 날짜 및 시간과 함께 표시하도록 애플리케이션을 개선합니다.

  1. Program.cs 또는 Program.vb에서 다음 코드로 Console.WriteLine를 호출하는 줄인 Main 메서드의 내용을 바꿉니다.

    Console.WriteLine("What is your name?");
    var name = Console.ReadLine();
    var currentDate = DateTime.Now;
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
    Console.Write($"{Environment.NewLine}Press any key to exit...");
    Console.ReadKey(true);
    
    Console.WriteLine("What is your name?")
    Dim name = Console.ReadLine()
    Dim currentDate = DateTime.Now
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}")
    Console.Write($"{Environment.NewLine}Press any key to exit...")
    Console.ReadKey(True)
    

    해당 코드는 콘솔 창에 프롬프트를 표시하고 사용자가 문자열을 입력한 후 Enter 키를 누를 때까지 기다립니다. 이 문자열을 name이라는 변수에 저장합니다. 또한 현재 현지 시간을 포함하는 DateTime.Now 속성 값을 검색한 후 currentDate라는 변수에 할당합니다. 또한 콘솔 창에 해당 값을 표시합니다. 마지막으로 콘솔 창에 프롬프트를 표시하고 Console.ReadKey(Boolean) 메서드를 호출하여 사용자 입력을 기다립니다.

    Environment.NewLine은 줄 바꿈을 나타내는 플랫폼과 언어에 독립적인 방법입니다. 대안은 C#의 \n 및 Visual Basic의 vbCrLf입니다.

    문자열 앞의 달러 기호($)를 사용하면 변수 이름과 같은 식을 문자열의 중괄호 안에 넣을 수 있습니다. 식 값은 식 대신 문자열에 삽입됩니다. 이 구문을 보간된 문자열이라고 합니다.

  2. Ctrl+F5를 눌러 디버깅 없이 프로그램을 실행합니다.

  3. 이름을 입력하고 Enter 키를 눌러 프롬프트에 응답합니다.

    Console window with modified program output

  4. 콘솔 창을 닫으려면 아무 키나 누릅니다.

추가 리소스

다음 단계

이 자습서에서는 .NET 콘솔 애플리케이션을 만들었습니다. 다음 자습서에서는 앱을 디버그합니다.

이 자습서에서는 Visual Studio 2019에서 .NET 콘솔 애플리케이션을 만들고 실행하는 방법을 보여 줍니다.

사전 요구 사항

앱 만들기

“HelloWorld”라는 .NET 콘솔 앱 프로젝트를 만듭니다.

  1. Visual Studio 2019를 시작합니다.

  2. 시작 페이지에서 새 프로젝트 만들기를 선택합니다.

    Create a new project button selected on the Visual Studio start page

  3. 새 프로젝트 만들기 페이지의 검색 상자에 console을 입력합니다. 다음으로 언어 목록에서 C# 또는 Visual Basic을 선택한 다음 플랫폼 목록에서 모든 플랫폼을 선택합니다. 콘솔 애플리케이션 템플릿을 선택한 후 다음을 선택합니다.

    Create a new project window with filters selected

    .NET 템플릿이 표시되지 않으면 필요한 워크로드가 없을 수 있습니다. 원하는 항목을 찾을 수 없나요? 메시지에서 추가 도구 및 기능 설치 링크를 선택합니다. Visual Studio 설치 관리자가 열립니다. .NET Core 플랫폼 간 개발 워크로드가 설치되어 있어야 합니다.

  4. 새 프로젝트 구성 대화 상자의 프로젝트 이름 상자에 HelloWorld를 입력합니다. 다음을 선택합니다.

    Configure your new project window with Project name, location, and solution name fields

  5. 추가 정보 대화 상자에서 .NET 5.0(현재) 을 선택한 후 만들기를 선택합니다.

    Additional information dialog

템플릿은 간단한 "Hello World" 애플리케이션을 만듭니다. 콘솔 창에 Console.WriteLine(String) "Hello World!"를 표시하는 메서드를 호출합니다.

템플릿 코드는 String 배열을 인수로 사용하는 단일 메서드 Main으로 Program 클래스를 정의합니다.

using System;

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

Module Program
    Sub Main(args As String())
        Console.WriteLine("Hello World!")
    End Sub
End Module

Main은 애플리케이션 진입점으로, 애플리케이션을 시작할 때 런타임에 의해 자동으로 호출되는 메서드입니다. 애플리케이션이 시작될 때 제공되는 모든 명령줄 인수는 args 배열에서 사용할 수 있습니다.

사용하려는 언어가 표시되지 않으면 페이지 맨 위에 있는 언어 선택기를 변경합니다.

앱 실행

  1. Ctrl+F5를 눌러 디버깅 없이 프로그램을 실행합니다.

    화면에 "Hello World!" 텍스트가 인쇄된 콘솔 창이 열립니다.

    Console window showing Hello World Press any key to continue

  2. 콘솔 창을 닫으려면 아무 키나 누릅니다.

앱 향상

사용자에게 이름을 입력하라는 메시지를 표시한 다음 사용자 이름을 날짜 및 시간과 함께 표시하도록 애플리케이션을 개선합니다.

  1. Program.cs 또는 Program.vb에서 다음 코드로 Console.WriteLine를 호출하는 줄인 Main 메서드의 내용을 바꿉니다.

    Console.WriteLine("What is your name?");
    var name = Console.ReadLine();
    var currentDate = DateTime.Now;
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
    Console.Write($"{Environment.NewLine}Press any key to exit...");
    Console.ReadKey(true);
    
    Console.WriteLine("What is your name?")
    Dim name = Console.ReadLine()
    Dim currentDate = DateTime.Now
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}")
    Console.Write($"{Environment.NewLine}Press any key to exit...")
    Console.ReadKey(True)
    

    해당 코드는 콘솔 창에 프롬프트를 표시하고 사용자가 문자열을 입력한 후 Enter 키를 누를 때까지 기다립니다. 이 문자열을 name이라는 변수에 저장합니다. 또한 현재 현지 시간을 포함하는 DateTime.Now 속성 값을 검색한 후 currentDate라는 변수에 할당합니다. 또한 콘솔 창에 해당 값을 표시합니다. 마지막으로 콘솔 창에 프롬프트를 표시하고 Console.ReadKey(Boolean) 메서드를 호출하여 사용자 입력을 기다립니다.

    Environment.NewLine은 줄 바꿈을 나타내는 플랫폼과 언어에 독립적인 방법입니다. 대안은 C#의 \n 및 Visual Basic의 vbCrLf입니다.

    문자열 앞의 달러 기호($)를 사용하면 변수 이름과 같은 식을 문자열의 중괄호 안에 넣을 수 있습니다. 식 값은 식 대신 문자열에 삽입됩니다. 이 구문을 보간된 문자열이라고 합니다.

  2. Ctrl+F5를 눌러 디버깅 없이 프로그램을 실행합니다.

  3. 이름을 입력하고 Enter 키를 눌러 프롬프트에 응답합니다.

    Console window with modified program output

  4. 콘솔 창을 닫으려면 아무 키나 누릅니다.

추가 리소스

다음 단계

이 자습서에서는 .NET 콘솔 애플리케이션을 만들었습니다. 다음 자습서에서는 앱을 디버그합니다.

이 자습서는 .NET 5 및 .NET 6에서만 사용할 수 있습니다. 페이지 위쪽에서 해당 옵션 중 하나를 선택합니다.