2016-07-05 3 views
1

Я пытаюсь создать очень простое приложение, содержащееXamarin - Shared Библиотека классов Доступ к System.IO.File

  • Версия для Windows
  • Mac Версия библиотеки
  • Portable Class

Я бы например, поместить код (насколько это возможно) в библиотеку портативных классов. Теперь я просто хочу проверить, существует ли файл с использованием System.IO.File.Exists(), но объект File недоступен. Я старался ориентироваться на разные форматы, но я не могу заставить его работать.

ответ

0

System.IO.File не доступен в коде PCL. Вам нужно будет реализовать код платформы. Вам также необходимо будет убедиться, что он существует для каждой платформы. Я знаю, что это для Android и iOS, никогда не пробовал использовать его на Mac и Windows. Хотя из Xamarin's docs похоже, что у Mac есть System.IO.File.

Как только у вас есть методы в каждом проекте платформы, вы можете ссылаться на конкретный метод платформы из вашего кода PCL, используя Xamarin's Dependency Service.

2

@hvaughan3 Что said правильно в том, что в System.IO.File не доступна с вашего PCL и она должна быть реализована в рамках каждой платформы и впрыскивается в ваш PCL. При этом хорошая новость заключается в том, что, как и многие из этих , общие требования уже есть плагин, чтобы сделать это, поэтому вам не нужно делать это самостоятельно.

Просмотрите следующие blog post, где описано, как использовать плагин PCLStorage в рамках проекта PCL.