【发布时间】:2021-03-05 17:59:25
【问题描述】:
我需要获取可选包的包 ID。但是当我在可选包中使用Package.Current.Id.Name 时,它会获取主应用程序的包ID。
如何在可选包中获取可选包的包ID?
【问题讨论】:
标签: uwp
我需要获取可选包的包 ID。但是当我在可选包中使用Package.Current.Id.Name 时,它会获取主应用程序的包ID。
如何在可选包中获取可选包的包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");
【讨论】: