2016-07-05 91 views
1

我試圖創建一個包含Xamarin - 共享類庫訪問有System.IO.File

  • Windows版本
  • Mac版本
  • 便攜式類庫

我會一個非常簡單的應用程序喜歡將代碼(儘可能)放入可移植類庫中。 現在我只想檢查一個文件是否存在使用System.IO.File.Exists()File對象不可用。我嘗試了針對不同的plattforms,但我無法得到它的工作。

回答

0

System.IO.File在PCL代碼中不可用。您將需要實現特定於平臺的代碼。您還需要驗證它是否存在於每個平臺。我知道它適用於Android和iOS,從未嘗試在Mac和Windows上使用它。雖然從Xamarin的docs看起來至少Mac確實有System.IO.File

在每個平臺項目中都有方法後,您可以使用Xamarin的Dependency Service從您的PCL代碼中引用平臺特定的方法。

2

什麼@hvaughan3said是,該System.IO.File正確不能從您的PCL和它需要每個平臺內實現和注入到您的PCL。這就是說好消息是,像這些常見的需求中有很多已經有一個插件可以做到這一點,所以你不需要自己動手。

查看以下blog post,它描述瞭如何在PCL項目中使用PCLStorage插件。