Package.FindRelatedPackages(FindRelatedPackagesOptions) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
FindRelatedPackages 方法以包列表的形式提供给定包的依赖项和依赖项。 可以使用 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)
参数
- options
- FindRelatedPackagesOptions
定义搜索选项的 FindRelatedPackageOptions 。
返回
返回包含搜索结果的 IList<包> 。
Windows 要求
设备系列 |
Windows 11 Insider Preview (在 10.0.23504.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v15.0 中引入)
|
示例
获取依赖包的显示名称示例
对于主机运行时提供程序包,依赖包的列表对于向用户显示很有用。 在下面的示例中,当前包获取依赖它的所有主机运行时使用者的显示名称列表。
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;
}
获取包依赖项示例
依赖包还可以收集有关其依赖项的详细信息,并相应地处理不同的情况。 在下面的示例中,当前包获取其具有非可选依赖项的包的列表。
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);
}
注解
具有 packageQuery 功能或中 IL 的任何调用方 (,如果调用是针对当前包) 则可以使用此 API 获取依赖项列表 (在其清单中定义 依赖项 的任何包) 给定包。 包可以使用此数据向用户显示其使用者,或基于这些数据做出服务决策。 例如,Edge 可以显示设备上安装的所有 PWA。 此 API 可识别所有已注册的包。