부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (연관된 글이 1개 있습니다.) (2021-06-27 업데이트) .NET Core 2.2.2 SDK부터 함께 배포되는 Roslyn 컴파일러에는 이제 더 이상 csc.exe가 제공되지 않으며 csc.dll로만 존재해 직접적으로 수행할 수 없게 되었습니다. .NET Core 환경에서 (프로젝트가 아닌) C# 코드 파일을 입력으로 컴파일하는 방법 (4.x 기준의) .NET Framework이 설치된 경우에는 다음의 경로에, 32비트: C:\Windows\Microsoft.NET\Framework\v4.0.30319 64비트: C:\Windows\Microsoft.NET\Framework64\v4.0.30319 고정적으로 csc.exe가 있어 다음과 같이 쉽게(?) 빌드할 수 있었습니다. c:\temp> "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc" program.cs 그런데, 닷넷 코어 환경에서는 경로가 잘 알려진 "dotnet.exe"가 기본적으로 프로젝트 기반으로 빌드를 담당하면서 내부적으로는 csc.exe가 감춰져 있는 형태입니다. 따라서 개별 파일로 빌드하려면 직접 csc.exe를 찾아내야 하는데요. 이럴 때 where.exe를 이용해 다음과 같이 csc.exe가 있는 폴더로 이동할 수 있습니다. C:\temp> where dotnet C:\Program Files\dotnet\dotnet.exe C:\Program Files (x86)\dotnet\dotnet.exe C:\temp> cd "C:\Program Files\dotnet\sdk\3.0.100\Roslyn\bincore" C:\Program Files\dotnet\sdk\3.0.100\Roslyn\bincore> csc Microsoft (R) Visual C# Compiler version 3.3.1-beta3-19461-02 (2fd12c21) Copyright (C) Microsoft Corporation. All rights reserved. warning CS2008: No source files specified. error CS1562: Outputs without source must have the /out option specified 역시나, 저렇게 Roslyn 폴더를 찾아가기보다는... "dotnet build"가 더 선호될 수밖에 없겠습니다. ^^ [이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] 개발 환경 구성: 461. C# 8.0의 #nulable 관련 특성을 .NET Framework 프로젝트에서 사용하는 방법[이전 글] 개발 환경 구성: 459. .NET Framework 프로젝트에서 C# 8.0/9.0 컴파일러를 사용하는 방법 [연관 글] .NET Framework: 2034. .NET Core/5+ 환경에서 (프로젝트가 아닌) C# 코드 파일을 입력으로 컴파일하는 방법 - 두 번째 이야기 [최초 등록일: 10/12/2019] [최종 수정일: 7/7/2023] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 2019-10-12 11시19분 Is it possible to compile a single C# code file with the .NET Core Roslyn compiler?; https://stackoverflow.com/questions/46065777/is-it-possible-to-compile-a-single-c-sharp-code-file-with-the-net-core-roslyn-c 정성태 ... 136 137 138 139 140 141 142 143 144 145 [146] 147 148 149 150 ... NoWriterDateCnt.TitleFile(s) 1403정성태1/14/201331978.NET Framework: 357. .NET 4.5의 2GB 힙 한계 극복1402정성태1/14/201332551오류 유형: 166. SmtpClient.Send 오류 - net_io_connectionclosed1401정성태1/11/201329875.NET Framework: 356. (공개키를 담은) 자바의 key 파일을 닷넷의 RSACryptoServiceProvider에서 사용하는 방법 [2]11400정성태1/10/201329015Windows: 69. 작업표시줄의 터치 키보드(Touch Keyboard) 없애는 방법 [3]1399정성태1/9/201324660.NET Framework: 355. 닷넷 환경이 왜 C/C++보다 느릴까요? [8]1398정성태1/8/201325126오류 유형: 165. 새로 설치한 Visual Studio 2010의 Team Explorer 실행시 비정상 종료가 된다면?1397정성태1/3/201328612Windows: 68. 윈도우 설치 ISO 이미지를 USB 하드에 적용하는 방법 [2]1396정성태12/27/201229820사물인터넷: 2. 넷두이노 - 4.2.0 펌웨어 업데이트 방법 [1]11395정성태12/26/201220681.NET Framework: 354. x64 - AspCompat과 STA COM 개체가 성능에 미치는 영향1394정성태12/25/201222128.NET Framework: 353. x86 - AspCompat과 STA COM 개체가 성능에 미치는 영향1393정성태12/25/201222485.NET Framework: 352. x64에서 필수로 지정하도록 바뀐 STAThread 특성 [2]1392정성태12/21/201232502사물인터넷: 1. .NET Micro Framework - 넷두이노 플러스 [7]1391정성태12/21/201225889.NET Framework: 351. JavaScriptSerializer, DataContractJsonSerializer, Json.NET [3]11390정성태12/20/201223962.NET Framework: 350. String 데이터를 Stream으로 변환하는 방법 [2]1389정성태12/12/201222284.NET Framework: 349. .NET Thread 인스턴스로부터 COM Apartment 유형 확인하는 방법11388정성태12/12/201223341.NET Framework: 348. .NET x64 응용 프로그램에서 Teb 주소를 구하는 방법11387정성태12/12/201228264VC++: 64. x64 Visual C++에서 TEB 주소 구하는 방법1386정성태12/12/201229980디버깅 기술: 53. windbg - 덤프 파일로부터 네이티브 DLL을 추출하는 방법 [1]1385정성태12/12/201225042디버깅 기술: 52. Windbg - The version of SOS does not match the version of CLR you are debugging.1384정성태12/12/201229865개발 환경 구성: 178. System32 폴더의 64비트 DLL을 32비트 Depends.exe에서 보는 방법1383정성태12/10/201225779개발 환경 구성: 177. 기업용 메신저를 위한 Office Communicator Server 2007 설치 [1]1382정성태12/8/201228640개발 환경 구성: 176. WebPagetest 서버 - 설치 및 테스트1381정성태12/5/201227152.NET Framework: 347. C# - 프로세스(EXE) 수준의 Singleton 개체 생성 [2]11380정성태11/28/201237181.NET Framework: 346. 닷넷 개발자에게 Node.js의 의미 [17]1379정성태11/26/201230319.NET Framework: 345. C# 부호(+, -)에 대한 비트 변환1378정성태11/22/201231643Java: 14. 안드로이드 - Hello World 실습 [7] ... 136 137 138 139 140 141 142 143 144 145 [146] 147 148 149 150 ...