[C#] Console Porject Web API Project 변환하기

개요

  • .NET Console Project 를 Web API Project 로 변환하는 방법에 대해서 정리 진행합니다.
  • 해당 내용을 응용하면, WorkerService 프로젝트에서 Self Hosting 할 수 있습니다.

개발 환경

  • 테스트 개발 환경은 다음과 같습니다.
    • .NET 6
    • Visual Studio 2022

1. 콘솔 프로젝트 생성

  • 제일 먼저 콘솔 프로젝트 생성을 진행합니다.


2. 솔루션.csproj Project 수정

  • Console 프로젝트를 Web API 프로젝트로 변환하기 위해서는 .csproj 확장자에서 Project 속성을 변경해 주어야 합니다.
  • 초기값은 Microsoft.NET.Sdk 이지만, Microsoft.NET.Sdk.Web 으로 변경 진행합니다.

변경 전


변경 후


프로젝트 다시 로드

  • 변경이 완료 되면, 프로젝트 다시 로드 진행합니다.


3. launchSetting.json 확인

  • 프로젝트 변경이 완료 되면, launchSetting.json 내용에서 applicationUrl 속성이 추가된 것을 확인할 수 있습니다.
{
  "profiles": {
    "ConsoleApp2": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://localhost:61560;http://localhost:61561"
    }
  }
}

4. Startup.cs 클래스 추가

  • Startup 클래스를 추가하여, 아래 코드를 추가해 줍니다.
namespace ConsoleApp1;

public class Startup
{
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseRouting();
        app.UseEndpoints(endpoints => {
            endpoints.MapGet("/", async context => {
                await context.Response.WriteAsync("Hello from new web Api");
            });
        });
    }
}

5. Program.cs

using ConsoleApp1;

public class Program
{
    static void Main()
    {
        CreateHostBuilder().Build().Run();
    }
    public static IHostBuilder CreateHostBuilder()
    {
        return Host.CreateDefaultBuilder().ConfigureWebHostDefaults(webHost => {
            webHost.UseStartup<Startup>();
        });
    }
}

6. 실행 결과

  • 실행 결과, 다음과 같이 웹 호스팅 되는 것을 확인할 수 있습니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY