[C#] dotnet CLI로 프로젝트 제어하기

[원본 링크]

Windows 환경에서 Visual Studio만을 쓴다면 딱히 CLI를 직접 제어할 일이 없지만, Linux 등의 터미널 환경에서 직접 뭔가 핸들링할 필요가 있다면 CLI 사용법도 알아두는 편이 좋다.




프로젝트 생성하기

C#은 기본적으로 프로젝트 단위로 소스코드를 관리한다. 먼저 프로젝트를 만들어줘야 하는데, C#은 특이하게 템플릿 기반으로 생성하는 것을 강제한다.

dotnet new list를 치면 사용가능한 템플릿 목록이 나열된다.

서버환경을 사용한다면 ASP.NET 같은걸 쓸일이 많겠지만, 일단 여기서는 간단한 콘솔앱만 구성해보겠다.
Short Name을 사용하면 된다.

그래서 콘솔 앱을 "basic"이라는 이름의 프로젝트로 만들고 싶다면, 이렇게 하면 된다.

그럼 이렇게 폴더가 만들어지고, 그 안에 이것저것 들어설 것이다.




프로젝트 실행하기

프로젝트를 컴파일해서 바로 실행하고 싶다면, 프로젝트 루트 경로에서 dotnet run 명령을 사용하면 된다.

근데 현재 경로가 해당 프로젝트 경로가 아닐때 실행을 하고 싶을 수도 있다.
그럴때는 --project 플래그로 프로젝트 경로를 지정해주면 된다.




프로젝트 빌드하기

최종 실행파일을 생성하고 싶다면 build 명령을 사용할 수 있다. 그럼 바로 실행 가능한 최종 바이너리를 압축해서 반환해준다.

생성 경로는 bin/Debug/...다.


그럼 바로 실행해서 사용할 수 있다.

근데 바로 프로덕션 레벨로 모든 최적화를 끝내고 완성하고 싶다면, publish 명령을 사용할 수 있다. 사용법은 build와 거의 같다.

그럼 Release 경로에 최종 바이너리가 생성되고,


바로 사용할 수도 있을 것이다.

아, 근데 유의할 점이 있다. 저 바이너리 파일들은 단독으로 사용할 수는 없다. 저 경로에 존재하는 dll 같은 부산물들이 같은 경로에 존재해야 의미있게 동작한다.


그리고 run이나 build에도 릴리즈 모드 컴파일을 적용할 수 있다.
--configuration 플래그를 주기만 하면 된다.



참조
https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-new
https://stackoverflow.com/questions/48537869/dotnet-build-application-deploy
https://learn.microsoft.com/ko-kr/dotnet/core/tools/dotnet-build