首页 > 解决方案 > 获取 UWP 可选包中的包 ID

问题描述

我需要获取可选包的包 ID。但是当我Package.Current.Id.Name在可选包中使用时,它会获取主应用程序的包 ID。

如何在 Optional Package 中获取 Optional Package 的 Package Id?

标签: uwp

解决方案


您可以使用Package.Current获取主应用程序包,然后获取主包的依赖项列表。最后,您可以迭代可选包列表并找到指定的可选包。

如下:

var optionalPackage = Package.Current.Dependencies.FirstOrDefault(p => p.IsOptional);
string name= optionalPackage.Id.Name;

更新: 我已经测试过了。适合在可选包中调用。对于多个包,您可以通过不同的DisplayName来区分它们。(打开可选包的Package.appxmanifest文件找到DisplayName)

var optionalPackage = Package.Current.Dependencies.FirstOrDefault(p => p.DisplayName== "OptionalPackageWithPageToShow");

推荐阅读