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

이 자습서에서는 Visual Studio Code와 .NET CLI를 사용하여 .NET 콘솔 애플리케이션을 만들고 실행하는 방법을 보여 줍니다. 프로젝트 만들기, 컴파일, 실행과 같은 프로젝트 작업은 .NET CLI를 사용하여 수행합니다. 원할 경우, 다른 코드 편집기를 사용하여 이 자습서를 따르고 터미널에서 명령을 실행할 수 있습니다.

필수 조건

앱 만들기

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

  1. Visual Studio Code 시작

  2. 주 메뉴에서 파일>폴더 열기(macOS에서는 파일>열기...)를 선택합니다.

  3. 폴더 열기 대화 상자에서HelloWorld 폴더를 만들어 선택합니다. 그런 다음, 폴더 선택(macOS에서 열기)을 클릭합니다.

    기본적으로 폴더 이름은 프로젝트 이름 및 네임스페이스 이름이 됩니다. 프로젝트 네임스페이스가 HelloWorld라고 가정하는 코드를 자습서의 뒷부분에 추가합니다.

  4. 이 폴더에 있는 파일의 작성자를 신뢰하나요? 대화 상자에서 예, 작성자를 신뢰합니다.를 선택합니다. 이 폴더에는 .NET에서 생성하고 사용자가 추가하거나 수정한 파일만 있으므로 작성자를 신뢰할 수 있습니다.

  5. 주 메뉴에서 보기>터미널을 선택하여 Visual Studio Code에서 터미널을 엽니다.

    HelloWorld 폴더에서 명령 프롬프트와 함께 터미널이 열립니다.

  6. 터미널에서 다음 명령을 입력합니다.

    dotnet new console --framework net8.0 --use-program-main
    

    템플릿으로 만들어진 간단한 애플리케이션을 보려면 Program.cs 파일을 엽니다.

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

    .cs 파일을 처음 열면 Visual Studio Code에서 앱을 빌드하고 디버깅하기 위한 자산을 추가하라는 메시지를 표시합니다. 를 선택하면 Visual Studio Code가 .vscode 폴더를 만들고 그 안에 launch.jsontasks.json 파일을 만듭니다.

    참고 항목

    메시지가 표시되지 않거나 실수로 를 선택하지 않고 닫은 경우 다음 단계에 따라 launch.jsontasks.json을 만듭니다.

    • 메뉴에서 실행>구성 추가를 선택합니다.
    • 환경 선택 프롬프트에서 .NET 5+ 및 .NET Core를 선택합니다.

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

    C#에는 Program 클래스와 Main 메서드를 생략할 수 있는 최상위 문이라는 기능이 있습니다. 이 자습서에서는 이 기능을 사용하지 않습니다. 프로그램에서 이를 사용하는지 여부는 스타일 선호의 문제입니다. 프로젝트를 만든 dotnet new 명령에서 --use-program-main 옵션은 최상위 문이 사용되는 것을 방지했습니다.

앱 실행

터미널에서 다음 명령을 실행합니다.

dotnet run

프로그램이 "Hello, World!"를 표시하고 종료합니다.

The dotnet run command

앱 향상

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

  1. Program.cs를 엽니다.

  2. Program.cs에서 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);
    

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

    NewLine은 줄 바꿈을 나타내는 플랫폼과 언어에 독립적인 방법입니다. C#의 \n과 동일합니다.

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

  3. 변경 내용을 저장합니다.

    Important

    Visual Studio Code에서는 변경 내용을 명시적으로 저장해야 합니다. Visual Studio와 달리 애플리케이션을 빌드 및 실행할 때 파일 변경 내용이 자동으로 저장되지 않습니다.

  4. 프로그램을 다시 실행합니다.

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

    Terminal window with modified program output

  6. 아무 키나 눌러 프로그램을 종료합니다.

추가 리소스

다음 단계

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

이 자습서에서는 Visual Studio Code와 .NET CLI를 사용하여 .NET 콘솔 애플리케이션을 만들고 실행하는 방법을 보여 줍니다. 프로젝트 만들기, 컴파일, 실행과 같은 프로젝트 작업은 .NET CLI를 사용하여 수행합니다. 원할 경우, 다른 코드 편집기를 사용하여 이 자습서를 따르고 터미널에서 명령을 실행할 수 있습니다.

필수 조건

앱 만들기

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

  1. Visual Studio Code 시작

  2. 주 메뉴에서 파일>폴더 열기(macOS에서는 파일>열기...)를 선택합니다.

  3. 폴더 열기 대화 상자에서HelloWorld 폴더를 만들어 선택합니다. 그런 다음, 폴더 선택(macOS에서 열기)을 클릭합니다.

    기본적으로 폴더 이름은 프로젝트 이름 및 네임스페이스 이름이 됩니다. 프로젝트 네임스페이스가 HelloWorld라고 가정하는 코드를 자습서의 뒷부분에 추가합니다.

  4. 이 폴더에 있는 파일의 작성자를 신뢰하나요? 대화 상자에서 예, 작성자를 신뢰합니다.를 선택합니다. 이 폴더에는 .NET에서 생성하고 사용자가 추가하거나 수정한 파일만 있으므로 작성자를 신뢰할 수 있습니다.

  5. 주 메뉴에서 보기>터미널을 선택하여 Visual Studio Code에서 터미널을 엽니다.

    HelloWorld 폴더에서 명령 프롬프트와 함께 터미널이 열립니다.

  6. 터미널에서 다음 명령을 입력합니다.

    dotnet new console --framework net7.0
    

    프로젝트 템플릿은 Program.csConsole.WriteLine(String) 메서드를 호출하여 콘솔 창에 ‘Hello World’를 표시하는 간단한 애플리케이션을 만듭니다.

    Console.WriteLine("Hello, World!");
    
  7. Program.cs의 내용을 다음 코드로 바꿉니다.

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

    처음 .cs 파일을 편집하면 Visual Studio Code가 앱을 빌드하고 디버그하기 위해 누락된 자산을 추가하라는 메시지를 표시합니다. 를 선택하면 Visual Studio Code가 .vscode 폴더를 만들고 그 안에 launch.jsontasks.json 파일을 만듭니다.

    참고 항목

    메시지가 표시되지 않거나 실수로 를 선택하지 않고 닫은 경우 다음 단계에 따라 launch.jsontasks.json을 만듭니다.

    • 메뉴에서 실행>구성 추가를 선택합니다.
    • 환경 선택 프롬프트에서 .NET 5+ 및 .NET Core를 선택합니다.

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

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

앱 실행

터미널에서 다음 명령을 실행합니다.

dotnet run

프로그램이 "Hello, World!"를 표시하고 종료합니다.

The dotnet run command

앱 향상

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

  1. Program.cs를 엽니다.

  2. Program.cs에서 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);
    

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

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

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

  3. 변경 내용을 저장합니다.

    Important

    Visual Studio Code에서는 변경 내용을 명시적으로 저장해야 합니다. Visual Studio와 달리 애플리케이션을 빌드 및 실행할 때 파일 변경 내용이 자동으로 저장되지 않습니다.

  4. 프로그램을 다시 실행합니다.

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

    Terminal window with modified program output

  6. 아무 키나 눌러 프로그램을 종료합니다.

추가 리소스

다음 단계

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

이 자습서에서는 Visual Studio Code와 .NET CLI를 사용하여 .NET 콘솔 애플리케이션을 만들고 실행하는 방법을 보여 줍니다. 프로젝트 만들기, 컴파일, 실행과 같은 프로젝트 작업은 .NET CLI를 사용하여 수행합니다. 원할 경우, 다른 코드 편집기를 사용하여 이 자습서를 따르고 터미널에서 명령을 실행할 수 있습니다.

필수 조건

앱 만들기

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

  1. Visual Studio Code 시작

  2. 주 메뉴에서 파일>폴더 열기(macOS에서는 파일>열기...)를 선택합니다.

  3. 폴더 열기 대화 상자에서HelloWorld 폴더를 만들어 선택합니다. 그런 다음, 폴더 선택(macOS에서 열기)을 클릭합니다.

    기본적으로 폴더 이름은 프로젝트 이름 및 네임스페이스 이름이 됩니다. 프로젝트 네임스페이스가 HelloWorld라고 가정하는 코드를 자습서의 뒷부분에 추가합니다.

  4. 이 폴더에 있는 파일의 작성자를 신뢰하나요? 대화 상자에서 예, 작성자를 신뢰합니다.를 선택합니다. 이 폴더에는 .NET에서 생성하고 사용자가 추가하거나 수정한 파일만 있으므로 작성자를 신뢰할 수 있습니다.

  5. 주 메뉴에서 보기>터미널을 선택하여 Visual Studio Code에서 터미널을 엽니다.

    HelloWorld 폴더에서 명령 프롬프트와 함께 터미널이 열립니다.

  6. 터미널에서 다음 명령을 입력합니다.

    dotnet new console --framework net6.0 --use-program-main
    

    프로젝트 템플릿은 Program.csConsole.WriteLine(String) 메서드를 호출하여 콘솔 창에 ‘Hello World’를 표시하는 간단한 애플리케이션을 만듭니다.

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

    처음 .cs 파일을 편집하면 Visual Studio Code가 앱을 빌드하고 디버그하기 위해 누락된 자산을 추가하라는 메시지를 표시합니다. 를 선택하면 Visual Studio Code가 .vscode 폴더를 만들고 그 안에 launch.jsontasks.json 파일을 만듭니다.

    참고 항목

    메시지가 표시되지 않거나 실수로 를 선택하지 않고 닫은 경우 다음 단계에 따라 launch.jsontasks.json을 만듭니다.

    • 메뉴에서 실행>구성 추가를 선택합니다.
    • 환경 선택 프롬프트에서 .NET 5+ 및 .NET Core를 선택합니다.

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

    최신 버전의 C#에서는 최상위 문이라는 새로운 기능을 사용하면 Program 클래스와 Main 메서드를 생략할 수 있습니다. 대부분의 기존 C# 프로그램은 최상위 문을 사용하지 않으므로 이 자습서에서는 이 새 기능을 사용하지 않습니다. 그러나 C# 10에서 이 기능을 사용할 수 있으며 프로그램에서 사용 여부는 스타일 기본 설정의 문제입니다. 프로젝트를 만드는 데 사용한 dotnet new 명령에서 --use-program-main 옵션으로 인해 최상위 문이 사용되지 않았습니다.

앱 실행

터미널에서 다음 명령을 실행합니다.

dotnet run

프로그램이 "Hello, World!"를 표시하고 종료합니다.

The dotnet run command

앱 향상

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

  1. Program.cs를 엽니다.

  2. Program.cs에서 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);
    

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

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

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

  3. 변경 내용을 저장합니다.

    Important

    Visual Studio Code에서는 변경 내용을 명시적으로 저장해야 합니다. Visual Studio와 달리 애플리케이션을 빌드 및 실행할 때 파일 변경 내용이 자동으로 저장되지 않습니다.

  4. 프로그램을 다시 실행합니다.

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

    Terminal window with modified program output

  6. 아무 키나 눌러 프로그램을 종료합니다.

추가 리소스

다음 단계

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