Xamarin - 共享 Class 库访问 System.IO.File

Xamarin - Shared Class Library Accessing System.IO.File

我尝试创建一个非常简单的应用程序,其中包含

我想(尽可能多地)将代码放入便携式 Class 库中。 现在我只想使用 System.IO.File.Exists() 检查文件是否存在,但 File 对象不可用。我尝试针对不同的平台,但我无法让它工作。

System.IO.File 在 PCL 代码中不可用。您将需要在特定于平台的代码中实施。您还需要验证它是否存在于每个平台。我知道它适用于 Android 和 iOS,但从未尝试过在 Mac 和 Windows 上使用它。虽然从 Xamarin 的 docs 看起来至少 Mac 确实有 System.IO.File.

在每个平台项目中都有方法后,您可以使用 Xamarin 的 Dependency Service.

从 PCL 代码中引用特定于平台的方法

@hvaughan3 的正确之处在于 System.IO.File 在您的 PCL 中不可用,它需要在每个平台中实现并且 注入 到你的 PCL。话虽如此,好消息是像其中许多 常见 要求一样,已经有一个插件可以做到这一点,因此您无需自己动手。

查看您的 PCL 项目中的以下 blog post that describes how to use the PCLStorage 插件。