다음을 통해 공유


Package.FindRelatedPackages(FindRelatedPackagesOptions) 메서드

정의

FindRelatedPackages 메서드는 지정된 패키지에 대한 종속성을 패키지 목록으로 제공합니다. 옵션은 매개 변수를 사용하여 종속성 유형별로 목록을 필터링할 수 있습니다.

public:
 virtual IVector<Package ^> ^ FindRelatedPackages(FindRelatedPackagesOptions ^ options) = FindRelatedPackages;
IVector<Package> FindRelatedPackages(FindRelatedPackagesOptions const& options);
public IList<Package> FindRelatedPackages(FindRelatedPackagesOptions options);
function findRelatedPackages(options)
Public Function FindRelatedPackages (options As FindRelatedPackagesOptions) As IList(Of Package)

매개 변수

options
FindRelatedPackagesOptions

검색 옵션을 정의하는 FindRelatedPackageOptions 입니다.

반환

검색 결과가 포함된 IList<패키지를> 반환합니다.

Windows 요구 사항

디바이스 패밀리
Windows 11 Insider Preview (10.0.23504.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v15.0에서 도입되었습니다.)

예제

종속 패키지의 표시 이름 가져오기 예제

호스트 런타임 공급자 패키지의 경우 종속 패키지 목록을 사용자에게 표시하는 것이 유용합니다. 아래 샘플에서 현재 패키지는 종속된 모든 호스트 런타임 소비자의 표시 이름 목록을 가져옵니다.

static List<string> GetDisplayNamesOfHostedAppsForCurrentPackage()
{
  List<string> displayNames = new();

  // Configure package options to get packages dependent on the app package
  var pkgdependents = PackageRelationship.Dependents;                      
  FindRelatedPackagesOptions hostRuntimeDependents = new(pkgdependents)
  {
      IncludeFrameworks = false,
      IncludeHostRuntimes = true,
      IncludeOptionals = false,
      IncludeResources = false
  };

  // Get a list of packages which are dependent on the app package.
  IList<Package> hostedPackages = Package.Current.FindRelatedPackages(hostRuntimeDependents);

  // Iterate over the dependent packages and get their display names.
  foreach (Package package in hostedPackages)
  {
    displayNames.Add(package.DisplayName);
  }

  return displayNames;
}

패키지 종속성 가져오기 예제

종속 패키지는 종속성에 대한 자세한 정보를 수집하고 다양한 사례를 적절하게 처리할 수도 있습니다. 아래 샘플에서 현재 패키지는 선택적 종속성이 아닌 패키지 목록을 가져옵니다.

static IList<Package> GetNonOptionalDependenciesForCurrentPackage()
{
  // Configure package options to get non-optional dependencies
  var pkgdependents = PackageRelationship.Dependencies;                      
  FindRelatedPackagesOptions nonOptionalDependency = new(pkgdependents)
  {
      IncludeFrameworks = true,
      IncludeHostRuntimes = true,
      IncludeOptionals = false,
      IncludeResources = true
  };

  // Find and return the packages which are non-optional dependencies
  return Package.Current.FindRelatedPackages(nonOptionalDependency);
}

설명

모든 호출자( packageQuery 기능 또는 중간 IL을 사용하거나 현재 패키지에 대한 호출이 있는 경우 제외)는 이 API를 사용하여 지정된 패키지의 종속성(매니페스트에서 종속성을 정의하는 패키지)의 목록을 가져올 수 있습니다. 패키지는 이 데이터를 사용하여 소비자에게 소비자를 표시하거나 이를 기반으로 서비스 결정을 내릴 수 있습니다. 예를 들어 Edge는 디바이스에 설치된 모든 PWA를 표시할 수 있습니다. 이 API는 등록된 모든 패키지를 알고 있습니다.

적용 대상

추가 정보