Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (seongtaejeong at gmail.com)
홈페이지
첨부 파일
 

C# - 현재 빌드에 적용 중인 컴파일러 버전 확인 방법 (#error version)

아래의 글을 통해 재미있는 것을 알게 되었습니다. ^^

Getting Roslyn (C# compiler) and Language
; https://www.meziantou.net/getting-roslyn-csharp-compiler-and-language-versions.htm

간혹 테스트 중에 현재 소스 코드를 컴파일하는 Rolsyn 버전이 궁금할 때가 있는데요, 바로 이럴 때 소스 코드에 "#error version"을 넣어주면 됩니다.

#error version

// ... rest of the file ...

#error 지시문이기 때문에 기본적으로 컴파일 에러가 발생하는데, 이때 오류 메시지에 현재 컴파일러의 버전과 프로젝트에 설정된 언어 버전을 함께 출력해 줍니다. 예를 들어, 아래는 제가 가진 비주얼 스튜디오 정식 버전과 preview 버전에서의 오류 메시지를 보여줍니다.

[Visual Studio 2022 17.14.13 + <LangVersion>preview</LangVersion> 환경]
error CS1029: #error: 'version'
error CS8304: Compiler version: '4.14.0-3.25412.6 (c167adef)'. Language version: preview.

[Visual Studio 2022 17.14.13 Preview 1.0 + <LangVersion>preview</LangVersion> 환경]
error CS1029: #error: 'version'
error CS8304: Compiler version: '5.0.0-2.25380.108 (30000d88)'. Language version: preview.

첫 번째 CS1029는 "#error" 지시자에 대한 오류이고, 두 번째 CS8304가 바로 컴파일러 버전과 csproj의 LangVersion 설정을 알려주는 메시지입니다.




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







[최초 등록일: ]
[최종 수정일: 8/25/2025]

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

비밀번호

댓글 작성자
 




... 181  182  183  184  185  186  187  188  189  [190]  191  192  193  194  195  ...
NoWriterDateCnt.TitleFile(s)
324정성태8/15/200639236    답변글 디버깅 기술: 5.11. PDB 파일과 소스 코드
325정성태9/8/200632423    답변글 디버깅 기술: 5.12. CCP를 이용한 Windows Source Code 수준의 디버깅
329정성태8/19/200630901    답변글 디버깅 기술: 5.13. 소스 서버 구성 [1]
332정성태8/20/200632627    답변글 디버깅 기술: 5.14. GAC 에 등록된 Assembly 디버그 [2]
341정성태9/16/200624764    답변글 디버깅 기술: 5.15. [내용 예약]
342정성태9/16/200642633    답변글 디버깅 기술: 5.16. ASP.NET 디버깅 환경 구성 [1]파일 다운로드1
306정성태2/13/200721753기타: 15. .NET 이 생산성이 높다는 증거(!)
304정성태7/21/200624094VS.NET IDE: 41. 하위 폴더의 모든 프로젝트의 출력물을 제거 (Clean)
305정성태7/21/200623733    답변글 VS.NET IDE: 41.1. 하위 폴더의 모든 프로젝트의 출력물을 제거 (Clean) [1]
303정성태7/20/200621844Team Foundation Server: 12. 사용자 계정 재생성에 따른 Version Control 영향
302정성태8/21/200623651Team Foundation Server: 11. TFS Team Build와 VC++ Project 설정
299정성태7/23/200623177개발 환경 구성: 5. VMWare - VM 생성 화면 캡쳐
300정성태7/15/200628733    답변글 개발 환경 구성: 5.1. VMWare 오류 유형 - The handle is invalid.
301정성태7/18/200623463    답변글 개발 환경 구성: 5.2. VMWare - 사용 후기.
298정성태7/14/200623165개발 환경 구성: 4. VMWare Server를 64bit 운영체제에 설치 시 주의 사항 [2]
296정성태7/10/200632156.NET Framework: 73. [ASP.NET] HTC(DHTML Control Behavior)를 WebResource.axd로 제공하는 방법 [3]
295정성태7/1/200625695VC++: 25. Microsoft National Language Support Downlevel APIs 1.0 사용 방법파일 다운로드1
294정성태6/30/200622275.NET Framework: 72. XSDObjectGen.EXE 기능 개선
293정성태6/29/200624235Team Foundation Server: 10. TFS 버전 컨트롤(TFVC)에 참여시킨 프로젝트의 로컬 경로를 옮기는 방법
290정성태6/26/200621630Team Foundation Server: 9. HTTPS를 통한 Team Server 접근 - 두 번째 이야기 [1]
291정성태6/26/200623026    답변글 Team Foundation Server: 9.1. [선행 작업] HTTPS 를 통한 Team Server 접근 - 두번째 이야기 [1]
292정성태6/26/200622600    답변글 Team Foundation Server: 9.2. TF30177 오류 발생
307정성태8/3/200624473    답변글 Team Foundation Server: 9.3. Team Server 접근 이름을 바꾸는 방법 [1]파일 다운로드1
308정성태2/18/200724175        답변글 Team Foundation Server: 9.4. Team Server HTTPS 접근 완료. ^^ [1]
288정성태6/26/200638767오류 유형: 10. error MSB6006: "aspnet_merge.exe" exited with code 1
286정성태6/23/200626559웹: 4. 웹 사이트 식별자(Identifier) 값 변경
... 181  182  183  184  185  186  187  188  189  [190]  191  192  193  194  195  ...