如何将 XBF(XAML 二进制格式)转换为 XAML



随着Windows 8.1的发布,有一些新的API更改/添加。根据新增功能,有一个名为"XAML 二进制格式"的新功能,它将提高屏幕上的呈现性能。 XamlBinaryWriter类负责转换为 XAML 二进制格式。所有 XAML 文件都将转换为 XBF。是否有人尝试将 XBF 文件转换为 XAML 文件。我对 XAML 文件有一些依赖。如果没有 XAML 格式,我就无法继续。请让我知道如何将 XBF 转换为 XAML 文件。

首先,下载并安装 Microsoft 的 .NetNative,ReducerEngine.dll作为该东西的一部分安装,包括一些反编译器的原始实现。

但是,MS 的实现非常差,它甚至不支持 XAML 命名空间。您可以使用Microsoft的实现来学习 XBF 文件的结构,以进行反编译,但我建议您实现自己的解决方案。这并不难,我的代码大约有 1000 行代码,包含 12 个 C# 文件。

XBF文件相当简单。它们包含一个固定标头,后跟 6 个查找表(字符串、程序集、类型命名空间、类型、属性、XML 命名空间),后跟 DOM 树部分,其中对象通过整数键引用这些表中的值。

附言我对此最有趣的问题是,为什么Microsoft选择重新发明轮子而不是使用他们的.NET Binary XML格式或其子集?他们多年来一直使用二进制XML实现,从技术上讲,它比XBF更好的格式。

最新更新