VSCode 및 .NETCore2.2로 WebAPI 프로젝트 만들기

개요


  • 솔루션 만들기(이어서)
  • WebAPI 프로젝트 만들기
  • 실행

  • 환경


  • LinuxMint 19.1
  • .NET Core 2.2
  • VSCode 1.33

  • 실제로 내가 작업하는 환경 구축에 대해서는 아래를 참조하십시오.
  • LinuxMint에 .NET Core SDK 2.2 및 Visual Studio Code 설치
  • LinuxMint VSCode와 github와의 협력

  • 솔루션 만들기



    여러 프로젝트를 관리할 수 있는 솔루션(sln)을 만들 수 있기 때문에 드디어 그것도 해보겠습니다.

    빈 리포지토리를 만든 곳에서 시작합니다.

    솔루션 작성 명령
    $ dotnet new sln
    


    폴더 이름과 같은 이름의 slun 파일이 생성되었습니다.

    WebApiSample.sln
    Microsoft Visual Studio Solution File, Format Version 12.00
    # Visual Studio 15
    VisualStudioVersion = 15.0.26124.0
    MinimumVisualStudioVersion = 15.0.26124.0
    Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
            Debug|Any CPU = Debug|Any CPU
            Debug|x64 = Debug|x64
            Debug|x86 = Debug|x86
            Release|Any CPU = Release|Any CPU
            Release|x64 = Release|x64
            Release|x86 = Release|x86
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
            HideSolutionNode = FALSE
        EndGlobalSection
    EndGlobal
    

    내용은 이런 느낌

    WebAPI 프로젝트 만들기



    webapi 폴더를 만들고 그 안에 프로젝트를 만듭니다.

    WebAPI 작성 명령
    $ mkdir webapi
    $ cd webapi
    $ dotnet new webapi
    


    이제 프로젝트를 만들 수 있었지만 이것만으로는 솔루션에이 프로젝트가 추가되지 않으므로 dotnet sln 명령으로 sln 파일에 만든 프로젝트를 추가합니다.

    프로젝트 추가
    $ dotnet sln ../WebApiSample.sln add webapi.csproj
    

    WebApiSample.sln
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "webapi", "webapi\webapi.csproj", "{D7546FD5-E5E5-4903-A12B-4F3C589A2D57}"
    

    WebApiSample.sln을 살펴보면 추가한 프로젝트 정보가 다양하게 늘어나는 것 같습니다. (상기 이외에도 상당히 증가했습니다)
    $ cd ../ 에서 sln이 있는 폴더로 이동하여 dotnet build 를 실행해 봅니다.

    build
    $ dotnet build
    .NET Core 向け Microsoft (R) Build Engine バージョン 16.0.450+ga8dc7f1d34
    Copyright (C) Microsoft Corporation.All rights reserved.
    
      /home/(ユーザー名)/VSCode/github/WebApiSample/webapi/webapi.csproj の復元が 67.63 ms で完了しました。
      webapi -> /home/(ユーザー名)/VSCode/github/WebApiSample/webapi/bin/Debug/netcoreapp2.2/webapi.dll
    
    ビルドに成功しました。
        0 個の警告
        0 エラー
    
    経過時間 00:00:05.61
    

    sln에 추가된 프로젝트를 일괄적으로 빌드할 수 있습니다.
    프로젝트 하나만으로는 그다지 의미는 없지만 나중에 클래스 라이브러리라든지 추가하는 것이 간단하게 할 수 있을 것 같습니다.

    실행



    제대로 프로젝트가 로드하고 있으면 「디버그의 개시」시에 launch.json를 만들어 주는 것 같습니다.
    디버깅이 가능한지 확인하려면 ValuesController의 Get 메서드에 중단점을 설정하고 실행해 봅니다.

    ValuesController.cs
            // GET api/values
            [HttpGet]
            public ActionResult<IEnumerable<string>> Get()
            {
                return new string[] { "value1", "value2" }; //←ココにブレークポイントを設定
            }
    

    "디버그 시작"에서 실행하면 브라우저가 시작되고 https://localhost:5001/에 액세스하려고합니다. (브라우저의 인증서 오류가 발생하면 무시하고 계속하십시오)
    .NET Core의 WebAPI 템플릿에서는 이 URL에 아무것도 없으므로 404 오류 페이지가 표시됩니다.


    브라우저의 주소 표시줄에 https://localhost:5001/api/values를 입력하여 액세스해 봅니다.

    중단점에서 정지했습니다. 디버깅이 잘 작동하는 것 같습니다.
    그대로 F5로 계속합니다.
    브라우저에 ["value1","value2"]가 표시되었습니다.
    여기까지 할 수 있으면 후에는 좋아하는 대로 API를 만들어서 서버에 탈 뿐입니다.

    마지막으로



    리눅스에 .NETCore와 VSCode 넣어 WebAPI 프로젝트를 만드는 곳까지 해 보았습니다.
    메모 작성 레벨의 것이지만 도움이되면 다행입니다.

    조만간 .NETCore3.0이 정식 릴리스 된다고 생각하기 때문에 그 때에 버전 업할 때의 일등으로 뭔가 재료가 있으면 쓸지도?

    좋은 웹페이지 즐겨찾기