如何使用 PCL 库中的 GZipStream?

How to use GZipStream from PCL library?

我正在尝试创建一个需要 System.IO.Compression.GZipStream 的 PCL。我的 PCL 应在 'regular' .NET 4.x 和 Xamarin.iOS.

上使用

现在这两个平台似乎都有这个class:我可以为每个平台创建一个项目并且可以很好地访问它。

但是,如果我创建一个 PCL 目标 .NET Framework 4.5Xamarin.iOS(在 Visual Studio 2015),找不到 class,因为它似乎在 PCL 配置文件子集之外。

所以我的问题是:


我的 PCL 目标设置:

如果我尝试取消选择 Silverlight 5 会发生什么:

@anders 是对的。您的屏幕截图显示您在 PCL 配置文件中选择了 Silverlight。

要启用 Profile111,请编辑您的 .csproj 或在 VS2015 中检查:

  • .NET Framework 4.5
  • ASP.NET核心5.0
  • Windows 8
  • Windows Phone 8.1
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.iOS(经典)

为什么即使您检查了兼容配置文件它仍不可用:需要将对 PCL 中每个功能的支持专门添加到 PCL 配置文件中。它不会自动出现。并非所选平台的每个子集都以 PCL 配置文件的形式存在。发生的事情是您检查了您感兴趣的平台。然后 Visual Studio 选择一个与之兼容的配置文件。不幸的是,在这种情况下,包含 Silverlight 的配置文件。微软承认这令人困惑,并将对此进行改进。