Xamarin - 共享 Class 库访问 System.IO.File
Xamarin - Shared Class Library Accessing System.IO.File
我尝试创建一个非常简单的应用程序,其中包含
- Windows版本
- Mac版本
- 便携式Class图书馆
我想(尽可能多地)将代码放入便携式 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 插件。
我尝试创建一个非常简单的应用程序,其中包含
- Windows版本
- Mac版本
- 便携式Class图书馆
我想(尽可能多地)将代码放入便携式 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 插件。