Share via


Package.FindRelatedPackages(FindRelatedPackagesOptions) Méthode

Définition

La méthode FindRelatedPackages fournit les dépendances, puis les dépendances d’un package donné sous la forme d’une liste de packages. La liste peut être filtrée par type de dépendance à l’aide du paramètre options .

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)

Paramètres

options
FindRelatedPackagesOptions

FindRelatedPackageOptions qui définit les options de recherche.

Retours

Retourne un package> IList< contenant les résultats de la recherche.

Configuration requise pour Windows

Famille d’appareils
Windows 11 Insider Preview (introduit dans 10.0.23504.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v15.0)

Exemples

Obtenir des noms complets de packages dépendants , exemple

Pour un package de fournisseur de runtime d’hôte, la liste des packages dépendants est utile pour être affichée à l’utilisateur. Dans l’exemple ci-dessous, le package actuel obtient la liste des noms d’affichage de tous les consommateurs du runtime d’hôte qui en dépendent.

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;
}

Obtenir des dépendances de package, exemple

Un package dépendant peut également collecter plus d’informations sur ses dépendances et gérer les différents cas de manière appropriée. Dans l’exemple ci-dessous, le package actuel obtient la liste des packages sur lesquels il a une dépendance non facultative.

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);
}

Remarques

Tout appelant (avec la fonctionnalité packageQuery ou il moyen, ou sans si l’appel concerne le package actuel) peut utiliser cette API pour obtenir la liste des dépendants (tout package qui définit une dépendance dans son manifeste) d’un package donné. Le package peut utiliser ces données pour afficher ses consommateurs à l’utilisateur ou prendre des décisions de maintenance en fonction de celles-ci. Par exemple, Edge peut afficher tous les PWA installés sur l’appareil. Cette API prend en compte tous les packages inscrits.

S’applique à

Voir aussi