我試圖創建一個包含Xamarin - 共享類庫訪問有System.IO.File
- Windows版本
- Mac版本
- 便攜式類庫
我會一個非常簡單的應用程序喜歡將代碼(儘可能)放入可移植類庫中。 現在我只想檢查一個文件是否存在使用System.IO.File.Exists()
但File
對象不可用。我嘗試了針對不同的plattforms,但我無法得到它的工作。
我試圖創建一個包含Xamarin - 共享類庫訪問有System.IO.File
我會一個非常簡單的應用程序喜歡將代碼(儘可能)放入可移植類庫中。 現在我只想檢查一個文件是否存在使用System.IO.File.Exists()
但File
對象不可用。我嘗試了針對不同的plattforms,但我無法得到它的工作。
System.IO.File
在PCL代碼中不可用。您將需要實現特定於平臺的代碼。您還需要驗證它是否存在於每個平臺。我知道它適用於Android和iOS,從未嘗試在Mac和Windows上使用它。雖然從Xamarin的docs看起來至少Mac確實有System.IO.File
。
在每個平臺項目中都有方法後,您可以使用Xamarin的Dependency Service從您的PCL代碼中引用平臺特定的方法。
什麼@hvaughan3said是,該System.IO.File
正確不能從您的PCL和它需要每個平臺內實現和注入到您的PCL。這就是說好消息是,像這些常見的需求中有很多已經有一個插件可以做到這一點,所以你不需要自己動手。
查看以下blog post,它描述瞭如何在PCL項目中使用PCLStorage插件。