Partilhar via


Package.FindRelatedPackages(FindRelatedPackagesOptions) Método

Definição

O método FindRelatedPackages fornece as dependências e, em seguida, os dependentes de um determinado pacote como uma lista de pacotes. A lista pode ser filtrada pelo tipo de dependência usando o parâmetro 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)

Parâmetros

options
FindRelatedPackagesOptions

O FindRelatedPackageOptions que define as opções de pesquisa.

Retornos

Retorna um pacote> IList< que contém os resultados da pesquisa.

Requisitos do Windows

Família de dispositivos
Windows 11 Insider Preview (introduzida na 10.0.23504.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v15.0)

Exemplos

Obter nomes de exibição de pacotes dependentes de exemplo

Para um pacote do Provedor de Runtime de Host, a lista de pacotes dependentes é útil para ser exibida ao usuário. No exemplo abaixo, o pacote atual obtém a lista de Nomes de Exibição de todos os Consumidores de Runtime de Host dependentes dele.

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

Obter exemplo de dependências de pacote

Um pacote dependente também pode coletar mais informações sobre suas dependências e lidar com diferentes casos adequadamente. No exemplo abaixo, o pacote atual obtém a lista de pacotes nos quais ele tem uma dependência não opcional.

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

Comentários

Qualquer chamador (com a funcionalidade packageQuery ou IL médio ou sem se a chamada for para o pacote atual) pode usar essa API para obter a lista de dependentes (qualquer pacote que defina uma Dependência em seu manifesto) de um determinado Pacote. O pacote pode usar esses dados para exibir seus consumidores para o usuário ou tomar decisões de manutenção com base nele. Por exemplo, o Edge pode exibir todos os PWAs instalados no dispositivo. Essa API está ciente de todos os pacotes registrados.

Aplica-se a

Confira também