다음을 통해 공유


NuGet용 새 플랫폼별 라이브러리 프로젝트 만들기

iOS 및 Android와 같은 특정 플랫폼을 대상으로 하는 다중 플랫폼 라이브러리 프로젝트는 공유 프로젝트에서 가장 잘 작동합니다.

NuGet에는 iOS 및 Android 관련 코드와 둘 다에 공통된 .NET 코드가 모두 포함될 수 있습니다.

여러 어셈블리가 만들어지고 단일 NuGet 패키지에 기본 제공됩니다. NuGet 표준은 Xamarin.iOS 및 Android 프로젝트와 같이 지원되는 모든 프로젝트 형식에 패키지를 추가할 수 있는지 확인합니다.

플랫폼 간 라이브러리 NuGet을 만드는 단계

  1. 새 솔루션 파일을 선택하거나 기존 솔루션을 마우스 오른쪽 단추로 클릭하고 새 프로젝트 추가 > 를 선택합니다.>

  2. 다중 플랫폼 라이브러리 섹션에서 다중 플랫폼 라이브러리를 > 선택합니다.

    Configure multi-platform library for a single code base

  3. 이름 및 설명을 입력하고 플랫폼별을 선택합니다.

    Configure platform-specific library for iOS and Android

  4. 마법사를 완료합니다. 다음 프로젝트가 솔루션에 추가됩니다.

    • Android 프로젝트 – Android 관련 코드를 필요에 따라 이 프로젝트에 추가할 수 있습니다.
    • iOS 프로젝트 – 필요에 따라 iOS 관련 코드를 이 프로젝트에 추가할 수 있습니다.
    • NuGet 프로젝트 – 이 프로젝트에 코드가 추가되지 않습니다. 다른 프로젝트를 참조하고 NuGet 패키지 출력에 대한 메타데이터 구성을 포함합니다.
    • 공유 프로젝트 – 컴파일러 지시문 내 #if 의 플랫폼별 코드를 포함하여 이 프로젝트에 공통 코드를 추가해야 합니다.
  5. NuGet 프로젝트를 마우스 오른쪽 단추로 클릭하고 옵션을 선택한 다음, NuGet 패키지 > 메타데이터 섹션을 열고 필요한 메타데이터(선택적 메타데이터)를 입력합니다.

    Enter required metadata

  6. 또한 프로젝트 옵션 창에서 참조 어셈블리 섹션을 열고 공유 라이브러리가 "미끼 및 스위치"를 통해 지원할 PCL 프로필을 선택합니다.

    Also in the Project Options window, open the Reference Assemblies section and choose which PCL profiles the shared library will support via bait and switch

    참고 항목

    "미끼 및 스위치"는 PCL 어셈블리에 라이브러리에 의해 노출되는 API만 포함됨을 의미합니다(플랫폼별 코드를 포함할 수 없음). NuGet이 Xamarin 프로젝트에 추가되면 공유 라이브러리가 PCL에 대해 컴파일되지만 플랫폼별 어셈블리에는 iOS 또는 Android 프로젝트에서 실제로 사용되는 코드가 포함됩니다.

  7. 프로젝트를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 만들기(또는 솔루션 빌드 또는 배포)를 선택하면 .nupkg NuGet 패키지 파일이 /bin/ 폴더(구성에 따라 디버그 또는 릴리스)에 저장됩니다.

    NuGet package file will be saved in the bin folder either Debug or Release, depending on configuration

출력 확인

NuGet 패키지도 ZIP 파일이므로 생성된 패키지의 내부 구조를 검사할 수 있습니다.

이 스크린샷은 iOS 및 Android를 지원하고 두 개의 참조 어셈블리를 선택한 플랫폼별 NuGet의 콘텐츠를 보여줍니다.

Files contained in the NuGet package