실행 가능한 코드가 있는 옵션 패키지

실행 코드가 있는 선택적 패키지는 크거나 복잡한 앱을 나누거나 이미 게시된 앱에 추가하는 데 유용합니다. Visual Studio 2017 버전 15.7 및 .NET 네이티브 2.1을 사용하면 C++와 C# 선택적 패키지에서 실행 코드를 로드할 수 있습니다.

필수 조건

  • Visual Studio 2019 또는 Visual Studio 2017(버전 15.7 이상)
  • Windows 10 버전 1709 이상
  • Windows 10 버전 1709 SDK 이상

최신 개발 도구를 얻으려면 Windows 10용 다운로드 및 도구를 참조 하세요.

참고 항목

선택적 패키지 및/또는 관련 집합을 사용하는 앱을 스토어에 제출하려면 권한이 필요합니다. 선택적 패키지 및 관련 집합은 스토어에 제출되지 않은 경우 파트너 센터 권한이 없는 LOB(기간 업무) 또는 엔터프라이즈 앱에 사용할 수 있습니다. 선택적 패키지 및 관련 집합을 사용하는 앱을 제출할 수 있는 권한을 얻으려면 Windows 개발자 지원을 참조하세요.

참고 항목

실행 코드를 포함하는 선택적 패키지는 관련 집합일부여야 합니다. 관련된 집합에 속하지 않는 한 선택적 패키지에서 코드를 실행할 수 없습니다.

실행 코드가 있는 C++ 선택적 패키지

C++ 선택적 패키지에서 코드를 로드하려면 GitHub의 OptionalPackageSample 리포지토리를 참조하세요. OptionalPackageDLL기본 패키지에서 실행할 수 있는 코드를 사용하여 프로젝트를 만드는 방법을 보여줍니다. MyMainApp 프로젝트는 OptionalPackageDLL.dll 파일에서 코드를 로드하는 방법을 보여 줍니다.

실행 코드가 있는 C# 선택적 패키지

C#에서 선택적 코드 패키지 빌드를 시작하려면 아래 단계에 따라 솔루션을 구성합니다.

  1. Windows 10 Fall Creators Update SDK(빌드 16299) 이상으로 설정된 최소 버전으로 새 UWP 애플리케이션을 만듭니다.

  2. 솔루션에 새 선택적 코드 패키지(유니버설 Windows) 프로젝트를 추가합니다. 최소 버전 및 대상 버전이 기본 앱의 버전과 일치하는지 확인합니다.

  3. 스토어에 앱을 제출하려는 경우 두 프로젝트를 마우스 오른쪽 단추로 클릭하고 스토어 -> 스토어와 앱 연결...

  4. Package.appxmanifest 기본 앱의 파일을 열고 값을 찾습니다Identity Name. 다음 단계를 위해 이 값을 기록해 둡다.

  5. 선택적 앱 패키지의 Package.appxmanifest 파일을 열고 값을 찾습니다 uap3:MainAppPackageDependency Name . uap3:MainAppPackageDependency Name 이전 단계의 기본 앱 패키지 값과 일치 Identity Name 하도록 값을 업데이트합니다.

    다음은 기본 앱의 예 Identity 입니다Package.appxmanifest.

    <Identity Name="12345.MainAppProject" Publisher="CN=PublisherName" Version="1.0.0.0" />
    

    선택적 앱 패키지는 uap3:MainPackageDependency 기본 앱과 Identity일치하도록 업데이트해야 합니다.

    <uap3:MainPackageDependency Name="12345.MainAppProjectTest" />
    
  6. Bundle.mapping.txt 기본 앱에 파일을 추가합니다. 이 관련 집합 섹션의 단계에 따라 두 앱을 포함하는 관련 집합을 만듭니다.

  7. 선택적 패키지 프로젝트를 빌드한 다음 , 에 있는 빌드 ..\[PathToOptionalPackageProject]\bin\[architecture]\[configuration]\Reference의 출력에서 패키지 참조 폴더로 이동합니다. 파일(8단계)은 아키텍처에 독립적이므로 참조 폴더 경로에서 .winmd 아키텍처를 선택할 수 있습니다.

  8. 기본 앱 프로젝트의 참조를 이 폴더에 .winmd 있는 파일에 추가합니다. 선택적 패키지 프로젝트에서 API 노출 영역을 변경할 때마다 이 .winmd 파일을 업데이트해야 합니다 . 이 참조는 기본 앱 프로젝트에 컴파일에 필요한 정보를 제공합니다.

  9. 기본 앱 프로젝트에서 프로젝트 빌드 속성으로 이동하고 .NET 네이티브 도구 체인을 사용하여 컴파일을 선택합니다. 현재 C#에서 선택적 코드 패키지 만들기에는 .NET 네이티브 디버깅만 지원됩니다. 프로젝트 디버그 속성으로 이동하여 선택적 패키지 배포를 선택합니다. 이렇게 하면 기본 앱 프로젝트를 배포할 때마다 두 패키지가 동기화됩니다.

이러한 단계를 완료한 후에는 관리되는 WinRT 구성 요소 프로젝트인 것처럼 선택적 패키지 프로젝트에 코드를 추가할 수 있습니다. 기본 앱 프로젝트의 코드에 액세스하려면 선택적 패키지 프로젝트에 노출된 공용 메서드를 호출합니다.