Package.FindRelatedPackages(FindRelatedPackagesOptions) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.