在处理使用项目的当前代码创建可移植类库时,一些变通方法是相当明显的,而另一些是有问题的。
System.IO.Directory
是非 PCL,我仍然需要能够在其中创建文件之前创建一个目录。
如何在 C# 中创建文件夹而无法调用Directory.CreateDirectory(..)
?
在处理使用项目的当前代码创建可移植类库时,一些变通方法是相当明显的,而另一些是有问题的。
System.IO.Directory
是非 PCL,我仍然需要能够在其中创建文件之前创建一个目录。
如何在 C# 中创建文件夹而无法调用Directory.CreateDirectory(..)
?
PCL 中没有内置的文件和目录 I/O 支持,因为此功能因平台而异。但是,为了避免这个问题,您可以在可移植类库项目中引用PCLStorage 。
PCLStorage为您将在可移植类库中引用的文件和目录 I/O 提供可移植抽象层库。在特定于平台的应用程序实现中,您将合并此抽象层的相应实现库。
PCLStorage适用于.NET Framework 4及更高版本、Silverlight 4及更高版本、Windows Phone 7.5及更高版本以及Windows Store 应用程序。它依赖于async
and await
,这意味着当与 .NET 4、Silverlight 和 Windows Phone 7.5 一起使用时,它依赖于BCL Async包。
您可能还想看看MvvmCross File 插件。MvvmCross “本质上”是可移植的,并且File插件提供相关的文件和目录 I/O 功能作为同步方法。MvvmCross可移植库目前适用于.NET Framework 4.5、Silverlight 4及更高版本、Windows Phone 7.5及更高版本、Windows Store 应用、Xamarin.iOS和Xamarin.Android。