NuGet 패키지 만들기

완료됨

Razor 클래스 라이브러리를 패키지할 때 다른 Blazor 프로젝트에서 참조할 수 있는 이진 결과물이 있고 그 안의 구성 요소를 해당 프로젝트에서 사용할 수 있습니다.

이전 단원에서는 Blazor 애플리케이션에 대한 모달 대화 상자 창을 제공하는 모달 구성 요소가 있는 Razor 클래스 라이브러리를 만들었습니다. 다른 애플리케이션에서 사용할 해당 구성 요소를 공유하려면 다른 개발자가 가져올 수 있는 리포지토리 또는 폴더에 패키지하고 배치해야 합니다.

이 단원에서는 해당 프로젝트를 업데이트하고 NuGet 패키지를 생성합니다. 마지막으로 Blazor 서버 애플리케이션에 해당 NuGet 패키지를 배포합니다.

FirstClassLibrary에 패키지 속성 추가

먼저 배포를 위해 NuGet 패키지로 패키지할 수 있는 속성으로 FirstClassLibrary 프로젝트를 업데이트합니다.

  1. FirstClassLibrary 프로젝트에 대한 프로젝트 파일을 엽니다. Visual Studio 솔루션 탐색기에서 프로젝트를 두 번 클릭하거나 Visual Studio Code에서 FirstClassLibrary.csproj 파일을 엽니다.

  2. 파일의 위쪽에 있는 <PropertyGroup> 태그가 포함된 섹션에서, 닫는 </PropertyGroup> 태그 앞에 다음 콘텐츠를 추가하십시오.

        <PackageId>My.FirstClassLibrary</PackageId>
        <Version>0.1.0</Version>
        <Authors>YOUR NAME</Authors>
        <Company>YOUR COMPANY NAME</Company>
        <Description>This is a Razor component library with a cool modal window component.</Description>
      </PropertyGroup>
    

    이 코드는 Razor 클래스 라이브러리 <PackageId> 를 "My.FirstClassLibrary" 및 <Version> 0.1.0으로 정의합니다. 해당 두 필드에 고유한 이름과 회사 이름을 입력합니다.

다시 사용할 라이브러리 패키지

다음으로 명령줄에서 .NET 명령을 실행하여 솔루션 외부의 다른 애플리케이션에서 참조할 수 있도록 Razor 클래스 라이브러리를 패키지합니다.

연속 통합 프로세스에서 이러한 동일한 단계를 실행하여 라이브러리를 패키지하고 NuGet.org, GitHub 리포지토리 또는 조직에서 공유할 다른 위치에 배포할 수 있습니다.

FirstClassLibrary.csproj 파일과 동일한 폴더에서 다음 명령을 실행합니다.

dotnet pack

이 명령은 My.FirstClassLibrary.0.1.0.nupkg 라는 파일을 bin/Release 폴더에 씁니다.

MyBlazorApp 애플리케이션에서 NuGet 패키지에 대한 참조 추가

웹 애플리케이션과 동일한 폴더 구조에 있었기 때문에 MyBlazorApp 애플리케이션에서 FirstClassLibrary 프로젝트를 이미 참조했습니다.

이제 해당 프로젝트 참조를 실행 취소하고 이전에 만든 NuGet 패키지에 대한 참조를 추가합니다.

다음 단계에서는 일반적인 구성을 설명하지 않습니다 . 참조하려는 애플리케이션과 동일한 폴더 또는 솔루션에 있는 라이브러리 프로젝트는 이전 연습에서 보았듯이 프로젝트를 직접 참조할 수 있습니다.

  1. Visual Studio에서 MyBlazorApp 프로젝트 이름을 두 번 클릭하거나 Visual Studio Code에서 파일을 열어 MyBlazorApp.csproj 파일을 엽니다.

  2. MyBlazorApp.csproj 파일에서 다음 줄을 제거합니다.

    <ProjectReference Include="..\FirstClassLibrary\FirstClassLibrary.csproj" />

  3. MyBlazorApp.csproj와 동일한 폴더에서 다음 명령을 실행합니다.

    dotnet add package My.FirstClassLibrary -s ../FirstClassLibrary/bin/Release
    

    이 명령은 이전에 만든 NuGet 패키지를 가져와 로컬 NuGet 패키지 캐시에 복사본을 설치한 다음 MyBlazorApp.csproj 파일에서 해당 패키지에 대한 참조를 추가합니다.

작업 확인

새 패키지가 제대로 설치되나요? FirstServer 애플리케이션을 시작하고 애플리케이션이 시작될 때 모달 창을 볼 수 있나요?

한번 알아보자.

  1. 다음 명령을 실행하여 Visual Studio에서 F5 또는 MyBlazorApp 폴더를 선택하여 MyBlazorApp 애플리케이션을 시작합니다.

    dotnet run

  2. 브라우저에서 MyBlazorApp 애플리케이션 https://localhost:5000의 홈페이지로 이동합니다.

    내 첫 번째 모달 대화 상자가 표시되었나요? 그렇다면 축하합니다. FirstClassLibrary 프로젝트를 올바르게 패키지하고 배포했습니다. 이제 모든 곳에서 애플리케이션은 새로 만든 NuGet 패키지를 참조하여 모달 창 구성 요소를 사용할 수 있습니다.