C# 以编程方式标识Windows应用商店应用程序中的文件类型关联?
Windows或.NET中是否支持Windows应用商店应用程序API:s,允许我列出为正在执行的应用程序定义的文件类型关联C# 以编程方式标识Windows应用商店应用程序中的文件类型关联?,c#,configuration,microsoft-metro,windows-store-apps,file-type,C#,Configuration,Microsoft Metro,Windows Store Apps,File Type,Windows或.NET中是否支持Windows应用商店应用程序API:s,允许我列出为正在执行的应用程序定义的文件类型关联 在我的场景中,我有一个Windows应用商店类库,我打算从各种Windows应用商店应用程序中引用它。理想情况下,我希望能够在类库方法中读取应用程序定义的文件类型关联。这可能吗?到目前为止,似乎没有内置的方式来访问Windows应用商店应用程序的文件类型关联,但由于博客文章,我已经能够实现一种解决方法 显然,Package.appxmanifest文件已转换为与部署的应用
在我的场景中,我有一个Windows应用商店类库,我打算从各种Windows应用商店应用程序中引用它。理想情况下,我希望能够在类库方法中读取应用程序定义的文件类型关联。这可能吗?到目前为止,似乎没有内置的方式来访问Windows应用商店应用程序的文件类型关联,但由于博客文章,我已经能够实现一种解决方法 显然,Package.appxmanifest文件已转换为与部署的应用程序一起分发的appxmanifest.xml文件。清单文件包含应用程序的用户定义的文件类型关联,因此可以使用简单的XML查询来获取这些定义:
var document = XDocument.Load("AppxManifest.xml");
var xname = XNamespace.Get("http://schemas.microsoft.com/appx/2010/manifest");
var fileTypeElements =
document.Descendants(xname + "FileTypeAssociation").Descendants().Descendants();
var supportedFileExtensions =
fileTypeElements.Select(element => element.Value).ToArray();
这段代码当然可以进一步微调,例如FileTypeAssociation节点是应用程序节点的(深层)后代,同一清单文件中可以有多个应用程序节点。尽管如此,上述代码至少应该能够作为第一次尝试的方法