Package.FindRelatedPackages(FindRelatedPackagesOptions) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.