상세 컨텐츠

본문 제목

Windows 서비스 만들기: .NET 8 쉽고 빠르게 구현

C#

by 코딩하는 박줄기 2024. 10. 4. 19:10

본문

728x90
반응형

.NET 8을 활용해 간단하게 Windows 서비스를 만드는 방법을 단계별로 안내합니다.

1. NuGet 패키지 설치

Windows 서비스 프로젝트를 만들기 위해, 아래의 NuGet 패키지를 설치합니다.

Microsoft.Extensions.Hosting
Microsoft.Extensions.Hosting.WindowsServices

2. Program.cs 파일 수정

Program.cs 파일에서 IHost 구성을 아래와 같이 수정하세요. 서비스 이름과 로그 설정 등을 포함해 간단하게 구성할 수 있습니다.

IHost host = Host.CreateDefaultBuilder(args)
    .UseWindowsService(options =>
    {
        options.ServiceName = "WorkerService";
    })
    .ConfigureServices(services =>
    {
        services.AddHostedService<Worker>();
    })
    .ConfigureLogging((context, logging) =>
    {
        logging.SetMinimumLevel(LogLevel.Trace);
        logging.AddNLog();
    })
    .Build();

await host.RunAsync();

3. 앱 게시

이제 서비스를 게시할 차례입니다. 게시를 위한 설정은 다음과 같습니다.

3-1. .csproj 파일 수정

<PropertyGroup>
  <RootNamespace>App.WindowsService</RootNamespace>
  <OutputType>exe</OutputType>
  <PublishSingleFile Condition="'$(Configuration)' == 'Release'">true</PublishSingleFile>
  <RuntimeIdentifier>win-x64</RuntimeIdentifier>
  <PlatformTarget>x64</PlatformTarget>
<PropertyGroup>

3-2. 게시 진행

Visual Studio에서 솔루션 탐색기에서 프로젝트를 오른쪽 클릭하고, 게시를 선택합니다. 게시 프로필을 추가한 후 폴더를 대상으로 설정하세요.

필수 설정 확인 사항:

  • 배포 모드: 자체 포함
  • 단일 파일 생성: 선택됨
  • ReadyToRun 컴파일 사용: 선택됨
  • 사용되지 않는 어셈블리 트리밍(미리 보기): 선택되지 않음

 

4. 서비스 등록 및 실행

sc <서버> create [서비스 이름] binPath= [파일 경로]  
sc <서버> start [서비스 이름]

 

 

참조

728x90
반응형

관련글 더보기

댓글 영역