Condividi tramite


Package.FindRelatedPackages(FindRelatedPackagesOptions) Metodo

Definizione

Il metodo FindRelatedPackages fornisce le dipendenze e quindi dipende da un determinato pacchetto come elenco di pacchetti. L'elenco può essere filtrato dal tipo di dipendenza usando il parametro opzioni .

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)

Parametri

options
FindRelatedPackagesOptions

FindRelatedPackageOptions che definisce le opzioni di ricerca.

Restituisce

Restituisce un pacchetto> IList< contenente i risultati della ricerca.

Requisiti Windows

Famiglia di dispositivi
Windows 11 Insider Preview (è stato introdotto in 10.0.23504.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v15.0)

Esempio

Ottenere nomi visualizzati dell'esempio di pacchetti dipendenti

Per un pacchetto provider di runtime host, l'elenco dei pacchetti dipendenti è utile per essere visualizzato all'utente. Nell'esempio seguente il pacchetto corrente ottiene l'elenco dei nomi visualizzati di tutti i consumer di runtime host dipendenti da esso.

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

Ottenere un esempio di dipendenze del pacchetto

Un pacchetto dipendente può anche raccogliere altre informazioni sulle relative dipendenze e gestire in modo appropriato i diversi casi. Nell'esempio seguente il pacchetto corrente ottiene l'elenco di pacchetti in cui ha una dipendenza non facoltativa.

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

Commenti

Qualsiasi chiamante (con la funzionalità packageQuery o Medium IL o senza se la chiamata è per il pacchetto corrente) può usare questa API per ottenere l'elenco di dipendenti (qualsiasi pacchetto che definisce una dipendenza nel relativo manifesto) di un determinato pacchetto. Il pacchetto può usare questi dati per visualizzare i propri consumer all'utente o prendere decisioni di manutenzione basate su di esso. Ad esempio, Edge può visualizzare tutte le PWA installate nel dispositivo. Questa API è consapevole di tutti i pacchetti registrati.

Si applica a

Vedi anche