본문 바로가기

Programming/C#

[C#]CS7022 프로그램의 진입점이 전역 코드 Main() 진입점을 무시합니다.

C#

경고문

CS7022 프로그램의 진입점이 전역 코드 Main() 진입점을 무시합니다.

 

C# 9부터는 콘솔 애플리케이션 프로젝트에는 Main 메서드를 명시적으로 포함 할 필요가 없어졌습니다.

.NET 6 용 C# 템플릿은 ‘최상위 문’을 사용하므로 아래와 같은 코드를 줄여서 실행이 가능하게 되었습니다.

 

 

기존에 dotnet new console로 c#을 실행하면 아래와 같이 생성되고

using System;

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

 

현재는 이렇게 생성됩니다.

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

 

최상위 문 기능을 Program.cs를 이용해서 하나의 최상위 파일만 관리하면서 해당파일에 Using과 네임스페이스 정의해줄수도 있고 콘솔 애플리케이션으로 간단한 구현을 할 경우에는 Main() 메소드를 명시적으로 작성해주지 않더라도 Program.cs에서 c# 코드 구현이 가능합니다.

 

결론적으로 위에 프로그램의 진입점이 전역 코드 진입점을 무시합니다 경고문은 최상위 문에 동작되는 코드가 있고 그 외에 cs파일에서 Main() 메서드를 명시적으로 작성할 경우 작성한 코드에 Main()이 진입점으로써는 무시가 되기 때문에 생기는 경고문입니다.