Language/C#

[C#] DLL 포함시켜 단일 EXE로 만들기

Linuxias 2023. 9. 12. 13:23
반응형

프로젝트 파일 설정

프로젝트 파일 내에 PropertyGroup에 아래와 같은 항목을 추가한다.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net6.0-windows</TargetFramework>
    ...
    <PublishSingleFile>true</PublishSingleFile>
    <SelfContained>true</SelfContained>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>
  </PropertyGroup>

</Project>
  • PublishSingleFile : 하나의 파일로 게시(Publish)를 사용하도록 설정
  • SelfContained : 앱이 자체 포함대상인지, 프레임워크 종속인지 확인
  • RuntimeIdentifier : 대상으로 하는 OS / CPU 유형 지정
  • IncludeNativeLibrariesForSelfExtract : 코어 런타임 자체의 네이티브 이진 파일 포함하고 하나의 출력 파일을 얻기 위한 속성 ( 코어 런타임 자체의 네이티브 이진 파일은 단일 파일 번들에 기본적으로 포함되지 않음 )

 

배포 (게시 / Publish)

1. 프로젝트에서 게시(Publish)를 클릭

설정을 선택합니다.

프로필 설정 대화 상자에서 다음 옵션을 설정합니다.

  • 배포 모드 자체 포함 또는 프레임워크 종속으로 설정합니다.
  • 대상 런타임을 게시할 플랫폼으로 설정합니다. 이식 가능 이외의 항목이어야 합니다.
  • 단일 파일 생성을 선택합니다.

저장을 선택하여 설정을 저장하고 게시 대화 상자로 돌아갑니다.

위 과정을 통해 최종적으로 배포 시 하나의 파일로 만들어짐을 확인할 수 있다.

 

반응형