연습 - 프레임워크 종속 배포를 위해 게시

완료됨

프레임워크 종속 배포는 ASP.NET Core 앱의 기본값입니다. 프레임워크 종속 앱을 게시하면 앱의 파일 및 종속성만 배포 패키지에 포함됩니다. .NET 런타임은 포함되지 않습니다. 앱을 실행하려면 대상 컴퓨터에 올바른 버전의 .NET 런타임이 설치되어 있어야 합니다.

팀 리더가 배포를 위해 팀의 앱을 준비하도록 요청했습니다. 앱이 실행될 서버에 이미 .NET 런타임이 설치되어 있으므로 프레임워크 종속 배포로 앱을 게시할 수 있습니다. 이렇게 하면 배포 패키지의 크기가 줄어들고 앱을 더 쉽게 배포할 수 있습니다.

이 연습에서는 ASP.NET Core 앱을 프레임워크 종속 배포로 게시합니다.

ASP.NET Core 앱 만들기

팀 앱의 역할을 하려면 ASP.NET Core 앱이 필요합니다. Visual Studio Code에서 C# Dev Kit 확장을 사용하여 새 ASP.NET Core 앱을 만들어 보겠습니다.

  1. Visual Studio Code를 시작합니다.

  2. Ctrl+Shift+P를 눌러 명령 팔레트를 엽니다.

  3. .NET 새 프로젝트를 검색하여 선택합니다.

  4. ASP.NET Core Empty를 검색하고 선택합니다.

    ASP.NET Core Empty가 선택된 명령 팔레트의 스크린샷.

  5. 새 프로젝트에 대한 폴더를 선택하거나 만듭니다.

  6. 새 앱 MyWebApp의 이름을 지정합니다.

  7. 프로젝트 만들기를 선택하여 프로젝트를 만듭니다.

앱 실행

앱이 실행되는지 테스트합니다.

  1. Visual Studio Code에서 F5 키를 눌러 앱을 빌드하고 실행합니다.

    1. 메시지가 표시되면 디버거로 C# 을 선택합니다.
    2. 메시지가 표시되면 사용할 시작 구성으로 C#: MyWebApp [기본 구성] 을 선택합니다.

    이 명령은 앱을 시작하고 로컬 웹 서버에 호스팅합니다. 브라우저 창이 열리고 "Hello, World!"가 표시됩니다.

  2. Visual Studio Code에서 Shift+F5 를 눌러 브라우저 창을 닫고 앱을 중지합니다.

프레임워크 종속 배포로 앱 게시

이제 앱이 올바르게 실행되는지 확인했으므로 프레임워크 종속 배포로 게시할 수 있습니다.

  1. Visual Studio Code에서 Ctrl+'를 눌러 터미널 창을 엽니다.

  2. MyWebApp 디렉터리로 이동합니다.

    cd MyWebApp
    
  3. 다음 명령을 실행하여 앱을 게시합니다.

    dotnet publish -c Release -o publish-fd    
    

    앞의 명령에서 다음을 확인할 수 있습니다.

    • -c Release 는 릴리스 모드에서 앱을 빌드해야 임을 지정합니다. 이렇게 하면 성능에 대한 앱이 최적화됩니다.
    • -o 는 출력 디렉터리의 이름을 지정합니다. 이 경우 출력 디렉터리의 이름은 publish-fd입니다.

    이 명령은 앱을 프레임워크 종속 배포로 게시-fd 디렉터리에 게시합니다.

  4. Visual Studio Code Explorer 창에서 MyWebApp/publish-fd 디렉터리의 콘텐츠를 확장하고 파일 목록을 봅니다. 디렉터리에는 앱의 파일 및 종속성이 포함되지만 .NET 런타임 또는 소스 코드 파일은 포함되지 않습니다. 포함된 파일 및 디렉터리 중 일부는 다음과 같습니다.

    • MyWebApp.dll'**: 컴파일된 앱입니다.
    • 기타 MyWebApp. 파일: 앱을 실행하는 데 필요한 추가 파일입니다.
    • appsettings.json: 앱의 구성 파일입니다.
    • web.config: Windows의 IIS(인터넷 정보 서비스)에 대한 구성 파일입니다.
    • wwwroot: 있는 경우 이 디렉터리에는 HTML, CSS 및 JavaScript 파일과 같은 게시된 정적 웹 자산이 포함됩니다. 프로젝트에 정적 웹 자산이 없으면 이 디렉터리가 생성되지 않으므로 이 경우에는 존재하지 않습니다.
  5. publish-fd 디렉터리로 이동하여 앱을 실행합니다.

    cd publish-fd
    dotnet MyWebApp.dll
    

    이 명령은 게시된 앱을 시작하고 Kestrel에서 호스트합니다. 앱에 연결하는 웹 브라우저에는 동일한 기본 ASP.NET Core 시작 페이지가 표시됩니다.

  6. 웹 브라우저를 닫고 터미널 창에서 Ctrl+C를 눌러 앱을 중지합니다.