본문 바로가기
programming language/C#

C# Command Line Build

by 남성 2017. 12. 20.
Sharp Develop 을 사용하여 개발을 하다가 빌드를 자동화 할 필요가 있어서 찾아보니 Sharp Develop 툴 자체에서 Command Line 에서 빌드 할 수 있는 방법은 찾지 못했다. 

그래서 csc.exe 를 사용하여 빌드하는 방법을 찾아보니 아래 주소에서 방법을 알 수 있었다.


빌드를 위해서는 당연히 argument 들을 작성해야 할 텐데 이런 argument 들은 rsp 파일로 만들어서 빌드하는게 편리한 것 같다.

Word, Visio 파일을 자동화 하기 위해서 Microsoft.Office.Interop.Word, Microsoft.Office.Interop.Visio 를 사용하는데 각각 Microsoft.Office.Interop.Visio.dll, Microsoft.Office.Interop.Word.dll 파일의 형태로 존재하며 rsp 파일에 적는 경우 다음과 같이 Fullpath 를 적어줘야 정상적으로 인식된다.

C# 에서는 기본적으로 참조되는 reference 들이 있는데 이런 reference 들은 csc.exe 파일이 들어 있는 폴더에 같이 들어 있는 csc.rsp 파일을 열어보면 확인 할 수 있다. csc.rsp 파일은 항상 컴파일러에 의해 로드되므로, 원하지 않으면 /noconfig 옵션을 설정하면 된다.

결과적으로 test.rsp 파일은 다음과 같이 작성한다. 주석은 # 으로 시작하고 /recurse 는 하위의 cs 파일을 모두 빌드 하라는 뜻이며 /out 은 말그대로 output Console 프로그램의 파일 이름을 설정한다.

# test.rsp
# C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe  @test.rsp

/out:My.exe

/recurse:*.cs 

/r:C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Visio\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Visio.dll
/r:C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Word\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll

위와 같이 rsp 파일을 만들었으면 이제 Command 창에서 다음과 같이 빌드 할 수 있다.

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe  @test.rsp



댓글0