Microsoft MVP성태의 닷넷 이야기
.NET Framework: 946. C# 9.0을 위한 개발 환경 구성 [링크 복사], [링크+제목 복사],
조회: 21591
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

C# 9.0을 위한 개발 환경 구성

다음의 문서에 이미 공개되어 있듯이,

C# language versioning
; https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version

현재 C# 9.0은 .NET 5 프로젝트인 경우 기본값이지만, 그 외의 프로젝트라면 csproj 파일을 열어 명시적으로 9.0이라고 명시해야 합니다.

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp3.1</TargetFramework>
        <LangVersion>9.0</LangVersion>
    </PropertyGroup>

</Project>

적용 여부를 간단하게 테스트하기 위해 신규 문법으로,

Target-typed new expressions
; https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-9.0/target-typed-new

using System;

class Program
{
    private readonly static object s_syncObj = new();

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

코딩을 해보면, 원래는 "new()"에서 오류가 발생하지만 C# 9.0에서는 정상적으로 컴파일이 됩니다.




C# 9.0에 관한 문법은 다음의 문서를 참고하거나,

What's new in C# 9.0
; https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9

C# 9.0 Specification Proposals
; https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-9.0/records

혹은 github 문서를 통해 현재 시점의 적용 여부까지 확인할 수 있습니다.

Language Feature Status - C# 9
; https://github.com/dotnet/roslyn/blob/master/docs/Language%20Feature%20Status.md#c-9




참고로, "Developer Command Prompt for VS2019"를 열고 다음의 명령어를 실행하면 이렇게 9.0이 포함되어 있을 것입니다. (2020-10-11 시점에는) default 버전은 8.0입니다.

C:\> csc -langversion:?
Supported language versions:
default
1
2
3
4
5
6
7.0
7.1
7.2
7.3
8.0 (default)
9.0
latestmajor
preview
latest




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 3/9/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 46  47  48  49  50  [51]  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
12701정성태7/9/202118484.NET Framework: 1075. C# - ThreadPool의 스레드는 반환 시 ThreadStatic과 AsyncLocal 값이 초기화 될까요?파일 다운로드1
12700정성태7/8/202118955.NET Framework: 1074. RuntimeType의 메모리 누수? [1]
12699정성태7/8/202117569VS.NET IDE: 167. Visual Studio 디버깅 중 GC Heap 상태를 보여주는 "Show Diagnostic Tools" 메뉴 사용법
12698정성태7/7/202121619오류 유형: 732. Windows 11 업데이트 시 3% 또는 0%에서 다운로드가 멈춘 경우
12697정성태7/7/202116202개발 환경 구성: 574. Windows 11 (Insider Preview) 설치하는 방법
12696정성태7/6/202117578VC++: 146. 운영체제의 스레드 문맥 교환(Context Switch)을 유사하게 구현하는 방법파일 다운로드2
12695정성태7/3/202117751VC++: 145. C 언어의 setjmp/longjmp 기능을 Thread Context를 이용해 유사하게 구현하는 방법파일 다운로드1
12694정성태7/2/202119349Java: 24. Azure - Spring Boot 앱을 Java SE(Embedded Web Server)로 호스팅 시 로그 파일 남기는 방법 [1]
12693정성태6/30/202116333오류 유형: 731. Azure Web App Site Extension - Failed to install web app extension [...]. {1}
12692정성태6/30/202117012디버깅 기술: 180. Azure - Web App의 비정상 종료 시 남겨지는 로그 확인
12691정성태6/30/202116937개발 환경 구성: 573. 테스트 용도이지만 테스트에 적합하지 않은 Azure D1 공유(shared) 요금제
12690정성태6/28/202117809Java: 23. Azure - 자바(Java)로 만드는 Web App Service - Tomcat 호스팅
12689정성태6/25/202120233오류 유형: 730. Windows Forms 디자이너 - The class Form1 can be designed, but is not the first class in the file. [1]
12688정성태6/24/202119553.NET Framework: 1073. C# - JSON 역/직렬화 시 리플렉션 손실을 없애는 JsonSrcGen [2]파일 다운로드1
12687정성태6/22/202116660오류 유형: 729. Invalid data: Invalid artifact, java se app service only supports .jar artifact
12686정성태6/21/202117900Java: 22. Azure - 자바(Java)로 만드는 Web App Service - Java SE (Embedded Web Server) 호스팅
12685정성태6/21/202119966Java: 21. Azure Web App Service에 배포된 Java 프로세스의 메모리 및 힙(Heap) 덤프 뜨는 방법
12684정성태6/19/202118278오류 유형: 728. Visual Studio 2022부터 DTE.get_Properties 속성 접근 시 System.MissingMethodException 예외 발생
12683정성태6/18/202118954VS.NET IDE: 166. Visual Studio 2022 - Windows Forms 프로젝트의 x86 DLL 컨트롤이 Designer에서 오류가 발생하는 문제 [1]파일 다운로드1
12682정성태6/18/202115449VS.NET IDE: 165. Visual Studio 2022를 위한 Extension 마이그레이션
12681정성태6/18/202116343오류 유형: 727. .NET 2.0 ~ 3.5 + x64 환경에서 System.EnterpriseServices 참조 시 CS8012 경고
12680정성태6/18/202118339오류 유형: 726. python2.7.exe 실행 시 0xc000007b 오류
12679정성태6/18/202117991COM 개체 관련: 23. CoInitializeSecurity의 전역 설정을 재정의하는 CoSetProxyBlanket 함수 사용법파일 다운로드1
12678정성태6/17/202116215.NET Framework: 1072. C# - CoCreateInstance 관련 Inteop 오류 정리파일 다운로드1
12677정성태6/17/202119886VC++: 144. 역공학을 통한 lxssmanager.dll의 ILxssSession 사용법 분석파일 다운로드1
12676정성태6/16/202118652VC++: 143. ionescu007/lxss github repo에 공개된 lxssmanager.dll의 CLSID_LxssUserSession/IID_ILxssSession 사용법파일 다운로드1
... 46  47  48  49  50  [51]  52  53  54  55  56  57  58  59  60  ...