Новый проект iOS MVVMCross - на какой пакет Nuget и / или PCL нацелены?

Мы создаем новый проект iOS. Я хочу использовать универсальный API, поэтому уверен, что мне нужно переключиться на канал Xamarin Beta и выполнить предварительную версию MVVMCross.

Однако, когда я пытаюсь добавить пакет MVVMCross в новый PCL, я получаю

Не удалось установить пакет MvvmCross.PortableSupport 3.5.0-beta1. Вы пытаетесь установить этот пакет в проект, предназначенный для Portable-net45 + sl50 + Xamarin.iOS10 + MonoAndroid10 + MonoTouch10, но пакет не содержит ссылок на сборки или файлов содержимого, совместимых с этой платформой. За дополнительной информацией обращайтесь к автору пакета.

Ошибка выглядит достаточно простой, но эти ошибки совместимости из NuGet никогда не бывают такими простыми, как кажутся.

PCL нацелен на

  • .NET 4.5
  • Silverlight 5
  • Xamarin Android
  • Xamarin.iOS
  • Xamarin.iOS (классический)

Какие цели мне нужно изменить, чтобы я мог добавить правильный MVVMCross для создания универсальной iOS.


person Pat Long - Munkii Yebee    schedule 16.12.2014    source источник


Ответы (2)


Похоже, ваша задача - поддерживать Silverlight 5 - sl50

Все остальные перечисленные вами платформы будут поддерживать современные профили PCL, такие как 78 и 259. Однако Microsoft не реализовала Silverlight поддержку этих профилей.

Этот отказ от «старых профилей» является причиной отказа MvvmCross от старой поддержки WindowsPhone, о которой было объявлено еще в июле 2013 года http://slodge.blogspot.co.uk/2013/07/mvvmcross-wp7-tombstoned.html

person Stuart    schedule 16.12.2014
comment
Меня не интересует SL5, и я попытался снять его, но получаю следующее сообщение будет автоматически настроено, поэтому он все равно его настраивает. Я попытался снять отметку со всего, кроме .NET 4.5 и Xamarin.iOS, но по-прежнему получаю ошибки совместимости. - person Pat Long - Munkii Yebee; 16.12.2014
comment
SL5 - ваша проблема ... Варианты: 1. Отредактируйте номер целевого профиля самостоятельно в файле csproj; 2. Просмотрите папки справочной сборки, чтобы узнать, что в каком профиле установлено на вашем ПК; 3. пометьте свой вопрос xamarin и Portable-class-library и надейтесь, что один из гуру PCL сможет вам помочь. - person Stuart; 16.12.2014
comment
Поменял теги и теперь взламываю csproj. Спасибо Стюарт - person Pat Long - Munkii Yebee; 16.12.2014
comment
Это не позволило бы мне просто перейти на пакет 259. Он говорил, что для проекта требуется обновление. Мне также нужно было изменить TargetFrameworkVersion. См. Этот ответ, stackoverflow.com/a/26127667/63286. Стюарт, возможно, стоит отредактировать свой ответ, чтобы упомянуть версию фреймворка для - person Pat Long - Munkii Yebee; 16.12.2014

Я исправил вашу проблему. Мне удалось это исправить, не взламывая csproj. Я не мог отменить выбор Silverlight 5. Я выбрал целевую Windows 8, а затем смог отменить выбор Silverlight 5.

person Michał Wróblewski    schedule 24.03.2015