부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (연관된 글이 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 [이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] VS.NET IDE: 151. Visual Studio 2019에 .NET 5 rc/preview 적용하는 방법[이전 글] 오류 유형: 666. The type or namespace name '...' does not exist in the namespace 'Microsoft.VisualStudio.TestTools' (are you missing an assembly reference?) [연관 글] .NET Framework: 947. C# 9.0 - (1) 대상으로 형식화된 new 식(Target-typed new expressions) [최초 등록일: 10/11/2020] [최종 수정일: 3/9/2024] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... NoWriterDateCnt.TitleFile(s) 13605정성태4/23/2024200닷넷: 2246. C# - Python.NET을 이용한 파이썬 소스코드 연동113604정성태4/22/2024221오류 유형: 901. Visual Studio - Unable to set the next statement. Set next statement cannot be used in '[Exception]' call stack frames.13603정성태4/21/2024292닷넷: 2245. C# - IronPython을 이용한 파이썬 소스코드 연동113602정성태4/20/2024645닷넷: 2244. C# - PCM 오디오 데이터를 연속(Streaming) 재생 (Windows Multimedia)113601정성태4/19/2024746닷넷: 2243. C# - PCM 사운드 재생(NAudio)113600정성태4/18/2024754닷넷: 2242. C# - 관리 스레드와 비관리 스레드13599정성태4/17/2024800닷넷: 2241. C# - WAV 파일의 PCM 사운드 재생(Windows Multimedia)113598정성태4/16/2024826닷넷: 2240. C# - WAV 파일 포맷 + LIST 헤더213597정성태4/15/2024800닷넷: 2239. C# - WAV 파일의 PCM 데이터 생성 및 출력113596정성태4/14/20241036닷넷: 2238. C# - WAV 기본 파일 포맷113595정성태4/13/20241047닷넷: 2237. C# - Audio 장치 열기 (Windows Multimedia, NAudio)113594정성태4/12/20241064닷넷: 2236. C# - Audio 장치 열람 (Windows Multimedia, NAudio)113593정성태4/8/20241074닷넷: 2235. MSBuild - AccelerateBuildsInVisualStudio 옵션13592정성태4/2/20241215C/C++: 165. CLion으로 만든 Rust Win32 DLL을 C#과 연동13591정성태4/2/20241187닷넷: 2234. C# - WPF 응용 프로그램에 Blazor App 통합113590정성태3/31/20241078Linux: 70. Python - uwsgi 응용 프로그램이 k8s 환경에서 OOM 발생하는 문제13589정성태3/29/20241150닷넷: 2233. C# - 프로세스 CPU 사용량을 나타내는 성능 카운터와 Win32 API113588정성태3/28/20241246닷넷: 2232. C# - Unity + 닷넷 App(WinForms/WPF) 간의 Named Pipe 통신 [2]113587정성태3/27/20241168오류 유형: 900. Windows Update 오류 - 8024402C, 8007064313586정성태3/27/20241320Windows: 263. Windows - 복구 파티션(Recovery Partition) 용량을 늘리는 방법13585정성태3/26/20241104Windows: 262. PerformanceCounter의 InstanceName에 pid를 추가한 "Process V2"13584정성태3/26/20241058개발 환경 구성: 708. Unity3D - C# Windows Forms / WPF Application에 통합하는 방법113583정성태3/25/20241175Windows: 261. CPU Utilization이 100% 넘는 경우를 성능 카운터로 확인하는 방법13582정성태3/19/20241433Windows: 260. CPU 사용률을 나타내는 2가지 수치 - 사용량(Usage)과 활용률(Utilization)113581정성태3/18/20241606개발 환경 구성: 707. 빌드한 Unity3D 프로그램을 C++ Windows Application에 통합하는 방법 [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...