C# & .NET

비주얼 스튜디오 C# 언어 버전 바꾸기 (ft. .NET Framework)

카루-R 2022. 10. 21. 23:48
반응형

환영합니다, Rolling Ress의 카루입니다.

오랜만에 써보는 프로그래밍 글이네요. 그런데 이건 VS 관련 얘기라 짧게만 설명하고 끝내겠습니다. 이후 일정이 밀려가지고 살짝 바쁘네요 (^^,,,)

보통 비주얼스튜디오로 C# 프로젝트를 만들면 .NET 6 (혹은 5)와 .NET Framework 중에 선택을 할 수 있습니다. C#을 처음 배우시는 분들은 .NET 6를 선택하시면 됩니다. 이게 기존에는 .NET Core와 .NET Framework로 나뉘었는데, 이것들이 통합이 되면서 .NET 5가 되었고, 그게 6으로 이어진 겁니다. .NET Framework는 이제 사실상 버려지는 단계를 밟고 있다고 볼 수 있습니다.

그런데 UWP 또는 WPF 등 일부 C# 프로젝트의 경우 강제로 .NET Framework를 사용할 수밖에 없습니다. 이러면 문제가 뭐냐? C# 언어 버전이 안 바뀝니다. 7.3에서 고정이 되어버려요. 대체 왜 이렇게 제한을 걸었는지는 모르겠는데.. 여튼 그렇습니다.

최신 .NET을 제외한 나머지 .NET Core(과거 크로스플랫폼), .NET Standard(코어와 프레임워크의 징검다리), .NET Framework(과거 윈도우 표준)은 이제 더 이상 지원을 받지 못합니다. 그래서 언어가 7.3으로 고정이 되고, 최신 버전 .NET 을 사용하는 경우 C# 언어 버전도 최신으로 올라갑니다.

그런데 제 글은 항상 C# 9.0 ~ 10.0 이상의 최신 기능만을 소개하고 있죠. 그래서 간편하게 바꾸는 법을 알려드리겠습니다.

일반적으로는 프로젝트 파일을 우클릭한 뒤 빌드 > 우측 하단의 '고급...' 버튼을 누르면 언어 버전을 선택할 수 있는데, 요즘에는 이게 막혀있습니다. 프레임워크 버전에 따라서 결정된다는데, 그게 제가 아까 올려드린 사진입니다. 이건 UWP라 .NET Framework를 사용하고, C# 언어도 원래는 7.3을 사용해요.

이제부터는 조금 귀찮아집니다. 프로젝트 파일을 더블클릭해서 이게 VS로 바로 열리면 괜찮은데, .NET Framework는 또 이게 안 돼요. (Core와 Standard는 편집기에서 바로 열립니다) 그래서 우클릭을 한 뒤 파일탐색기로 열어줍니다.

거기서 .csproj 파일을 메모장이나 Visual Studio Code로 열어주세요. 그냥 비주얼스튜디오로 열면 안 됩니다. 텍스트 편집기로 열어주세요.

그럼 이렇게 외계어가 뜹니다. XML 파일인데, 한 줄만 입력해주시면 됩니다. 지금 보시면 <PropertyGroup> 부분이 있죠. 여기 바로 아래에

<LangVersion>preview</LangVersion>

대소문자에 유의하여 이렇게 작성해주시면 됩니다. 위 사진은 이미 작성이 된 상태입니다. Nullablbe은 무시하셔도 됩니다. 이렇게 파일을 저장하고 닫은 다음, 비주얼 스튜디오를 다시 시작하면 최신 버전 언어가 적용됩니다. preview 말고 latest나 10.0, 11.0등 버전을 지정할 수도 있긴 한데 보통은 preview로 설정하면 큰 문제가 없습니다.

반응형