성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] Java - How to use the Foreign Funct...
[정성태] 제가 큰 실수를 했군요. ^^; Delegate를 통한 Bein...
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<strong>(2021-06-27 업데이트) .NET Core 2.2.2 SDK부터 함께 배포되는 Roslyn 컴파일러에는 이제 더 이상 csc.exe가 제공되지 않으며 csc.dll로만 존재해 직접적으로 수행할 수 없게 되었습니다.</strong><br /> <br /> <hr style='width: 50%' /><br /> <br /> <div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>.NET Core 환경에서 (프로젝트가 아닌) C# 코드 파일을 입력으로 컴파일하는 방법</h1> <p> <strike> (4.x 기준의) .NET Framework이 설치된 경우에는 다음의 경로에,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 32비트: C:\Windows\Microsoft.NET\Framework\v4.0.30319 64비트: C:\Windows\Microsoft.NET\Framework64\v4.0.30319 </pre> <br /> 고정적으로 csc.exe가 있어 다음과 같이 쉽게(?) 빌드할 수 있었습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > c:\temp> "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc" program.cs </pre> <br /> 그런데, 닷넷 코어 환경에서는 경로가 잘 알려진 "<a target='tab' href='https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet?tabs=netcore21'>dotnet.exe</a>"가 기본적으로 프로젝트 기반으로 빌드를 담당하면서 내부적으로는 csc.exe가 감춰져 있는 형태입니다. 따라서 개별 파일로 빌드하려면 직접 csc.exe를 찾아내야 하는데요. 이럴 때 where.exe를 이용해 다음과 같이 csc.exe가 있는 폴더로 이동할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\temp> <span style='color: blue; font-weight: bold'>where dotnet</span> C:\Program Files\dotnet\dotnet.exe C:\Program Files (x86)\dotnet\dotnet.exe C:\temp> <span style='color: blue; font-weight: bold'>cd "C:\Program Files\dotnet\sdk\3.0.100\Roslyn\bincore"</span> C:\Program Files\dotnet\sdk\3.0.100\Roslyn\bincore> <span style='color: blue; font-weight: bold'>csc</span> 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 </pre> <br /> 역시나, 저렇게 Roslyn 폴더를 찾아가기보다는... "<a target='tab' href='https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-build'>dotnet build</a>"가 더 선호될 수밖에 없겠습니다. ^^<br /> </p><br /> </strike> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
2125
(왼쪽의 숫자를 입력해야 합니다.)