Package.FindRelatedPackages(FindRelatedPackagesOptions) Método

Definición

El método FindRelatedPackages proporciona las dependencias y, a continuación, depende de un paquete determinado como una lista de paquetes. La lista se puede filtrar por el tipo de dependencia mediante el 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

FindRelatedPackageOptions que define las opciones de búsqueda.

Devoluciones

Devuelve un paquete> IList< que contiene los resultados de la búsqueda.

Requisitos de Windows

Familia de dispositivos
Windows 11 Insider Preview (se introdujo en la versión 10.0.23504.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v15.0)

Ejemplos

Ejemplo de obtención de nombres para mostrar de paquetes dependientes

Para un paquete de proveedor de tiempo de ejecución de host, la lista de paquetes dependientes es útil para mostrarse al usuario. En el ejemplo siguiente, el paquete actual obtiene la lista de nombres para mostrar de todos los consumidores del entorno de ejecución de host que dependen de él.

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

Ejemplo de obtención de dependencias de paquete

Un paquete dependiente también puede recopilar más información sobre sus dependencias y controlar los distintos casos de forma adecuada. En el ejemplo siguiente, el paquete actual obtiene la lista de paquetes en los que tiene una dependencia no 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);
}

Comentarios

Cualquier llamador (con la funcionalidad packageQuery o IL medio, o sin si la llamada es para el paquete actual) puede usar esta API para obtener la lista de dependientes (cualquier paquete que defina una dependencia en su manifiesto) de un paquete determinado. El paquete puede usar estos datos para mostrar a sus consumidores al usuario o tomar decisiones de mantenimiento basadas en ellos. Por ejemplo, Edge puede mostrar todas las PWA instaladas en el dispositivo. Esta API es consciente de todos los paquetes registrados.

Se aplica a

Consulte también