Я создал приложения Xamarin.Android и Xamarin.iOS с несколькими общими проектами.
В общем проекте я использую следующий код:
IDataStorage dataStorage = null;
#if __ANDROID__
dataStorage = new DataStorage(Size.SmallData, 10);
#endif
#if __IOS__
dataStorage = new DataStorage(Size.BigData, 20);
#endif
if (dataStorage == null)
throw new InvalidOperationException("Data storage is not available.");
Всякий раз, когда я запускаю этокод, я получаю исключение (очевидно).
Поэтому я попытался добавить эти символы компиляции в Условные символы компиляции в свойствах проекта, но я понял, что если я добавлю оба символаоба раздела будут скомпилированы.
К сожалению, Список платформ содержит только один элемент: Active (AnyCPU) .
Поэтому я попытался разделить платформы.
Если я пытаюсь создать новую платформу проекта, я могу выбрать только x86 или x64.
Если я создаю пользовательскую платформу, я не могу установить ее в качестве платформы проекта, поскольку она не поддерживается ни одним проектом.
Я также не могу установить его, так как он не отображается в списке.
Итак, что я делаю не так?
Как я могу использовать условные символы в проекте .Net Standard относительно платформ ОС?