Windows 10 SDK桌面到UWP桥接

时间:2017-12-27 23:16:32

标签: c# .net uwp windows-10 windows-10-universal

我们的WPF应用程序使用Windows 10 SDK来安装列出的UWP软件包。

我们使用UwpDesktop直到最近我们看到它不再被开发(开发人员离开Microsoft)并决定从我们的项目中删除额外的依赖项。我们开始寻找有关桥接的文档,并发现了许多相互矛盾的信息。

Official examples from Microsoft似乎直接引用UnionMetadata\Windows.winmd(进一步 - "脂肪",约5 mb),except when sometimes they don't并实际引用UnionMetadata\Facade\Windows.winmd(进一步on - " facaded")。然后再次the latest materials我在问题上找到了告诉我使用" facaded"版本

我已经反编译了" facaded"和"胖" Windows.winmd的版本似乎外观版本实际上只是一堆带有API类型引用的using语句。 "脂肪"版本实际上包含API的extern声明。

我在不同的分支上引用了两个版本(不是反编译的版本),它们都可以工作,编译和调用预期的API。使用" fat"版本似乎更方便,因为您只需要导入它和运行时dll,同时导入" facaded"版本要求您手动还导入其他SDK版本相关文件。

我的问题是:

  • 有什么区别?
  • 应该使用什么以及为什么?
  • 直接导入UnionMetadata\<sdk_version>\Windows.winmd有什么缺点?

0 个答案:

没有答案