如何以编程方式获取在清单中为 UWP 应用程序启用的所有功能

How to get programatically all capablities that enable in manifest for UWP app

ITNOA

我想创建一个库,我需要以编程方式检查在使用我的库的 UWP 应用中启用了哪些功能。

不知道怎么办?

将 appxmanifest 直接作为 XML 文件读取是解决此问题的方法。像这样:

var doc = XDocument.Load("AppxManifest.xml", LoadOptions.None);
var xname = XNamespace.Get("http://schemas.microsoft.com/appx/manifest/foundation/windows10");
var capabilitiesNode = doc.Root.Descendants(xname + "Capabilities").First();

foreach (var capability in capabilitiesNode.Descendants())
{
    Debug.WriteLine(capability.Name + ": " + capability.Attribute("Name").Value);
}