Package.FindRelatedPackages(FindRelatedPackagesOptions) 方法

定義

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 知道所有已註冊的套件。

適用於

另請參閱