프로그래밍/C#, .NET

[.NET] 단일 파일로 배포

당근천국 2023. 2. 8. 15:30

.NET에서 별다른 옵션 없이 출력하면 파일이 여러 개가 생성됩니다.

참조가 많다면 더 많은 파일이 생성되죠.

 

단일 파일로 배포하는 방법을 알아봅시다.

 * 이 기능은 '.NET Core 3.0' 이상 버전에서만 사용할 수 있습니다. *

 

 

1. 게시

.NET에 있는 '게시' 기능이 있습니다.

이 기능을 이용하여 편하게 배포할 수 있죠.

 

프로젝트에서 오른쪽 클릭 > 게시

 

파일로 출력하면 릴리즈(Release) 폴더의 내용과 거의 같습니다.

그러니 파일로 배포하려는 경우 릴리즈 폴더만 압축해서 배포해도 상관없습니다.

 

 

2. 단일 파일 생성

파일로 배포하면 압축해서 하나의 파일만 배포해도 되니 신경을 안 쓰고 있었는데....

아무래도 파일이 많다 보니 컴퓨터에 익숙하지 않은 사람들은

1) 실행파일을 찾지 못하거나

2) 같이 첨부된 파일 일부가 지워지거나

하는 일이 벌어지곤 합니다.

 

이럴 때 필요한 기능이 '단일 파일 생성'입니다.

 

게시 > 모든 설정 표시

'배포 모드'를 '자체 포함'으로 바꿉니다.

 

'파일 게시 옵션'에 '단일 파일 생성'을 체크해 줍니다.

 

게시하면 잡다한 파일이 같이 생성되지만 '. exe' 파일만 가지고도 실행됩니다.

다른 파일을 다 지워도 실행된다.

 

'단일 파일 생성' 옵션을 사용하지 않으면 모든 파일이 따로 출력됩니다.

.NET 6으로 넘어오면서 WinForm기본 파일 개수가 엄청나게 많아졌군요;;;;;

 

주의 사항

일부 API는 단일 파일에서 사용할 수 없는 경우가 있습니다.

만약 외부 참조한 소스에서 이런 기능을 사용한다면 단일 파일 배포가 불가능할 수 있습니다.

 

 

마무리

참고 : MS Learn - 단일 파일 배포 및 실행 파일

웹 쪽을 제외한 '.NET' 응용프로그램은 단일 파일 배포가 가능합니다.

 

예전에는 외부 툴을 이용하던 기능이지만 이제는 자체 지원합니다.