将通用Windows网络转换为.NET兼容?

时间:2016-11-23 15:55:40

标签: .net uwp

我正在尝试将UWP应用程序转换为.NET应用程序。我们大量使用仅适用于UWP项目的Windows命名空间。

是否有一种简单的方法可以使代码与.NET兼容?或者我们是否必须以.NET方式重新编写所有内容?

以下是我们正在使用的一些.NET中没有的类:

  • 主机名
  • StreamSocket
  • DataWriter
  • 的DataReader
  • StorageFile
  • ApplicationData.Current.LocalFolder
  • FileAccessMode
  • RandomAccessStream
  • InMemoryRandomAccessStream
  • InputStreamOptions

2 个答案:

答案 0 :(得分:1)

这些类型中的许多类型在桌面.NET程序中都可以正常工作。您只需要从SDK添加对相应WinMD文件的引用。

作为一般经验法则,任何拥有或使用或显示UI的内容都不会在UWP之外工作,但许多其他内容可能会起作用。您还可以查看MSDN是否说它适用于桌面应用 - 例如StreamSocket执行 - 和/或查看它是否具有[dualapipartition]属性。缺少这个并不意味着类型不会起作用(例如,结构没有这样的属性,有时人们忘记添加)。

一般而言,如果您从头开始,通过使用.NET类型,您将获得更好的可移植性(跨Windows和非Windows操作系统)。特别是对于存储,使用.NET的System.IOWindows.Storage API也可以获得更好的性能。

答案 1 :(得分:1)

您可以使用名为.NET Portability Analyzer的Visual Studio扩展来检查代码的可移植性