uwp - 获取 UWP 可选包中的包 ID
问题描述
我需要获取可选包的包 ID。但是当我Package.Current.Id.Name
在可选包中使用时,它会获取主应用程序的包 ID。
如何在 Optional Package 中获取 Optional Package 的 Package Id?
解决方案
您可以使用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");