4

У меня есть время получить прямой ответ на это, я много раз искал и читал, и пробовал много чего. Иногда это звучит по-разному, и в других случаях это звучит только по возможности, делая связь, а что - нет, чего я пытаюсь избежать. Я большой поклонник PCL.Работает ли MvvmCross в студии Xamarin?

Я создал решение с использованием Visual Studio 2012, Xamarin и MvvmCross, который отлично работает, я могу развернуть на устройстве iOS, устройстве Droid, Windows --- что у вас есть. Visual Studio может создавать рабочие приложения, которые можно развернуть на определенных платформах.

Однако мне недавно сообщили, что наша компания требует, чтобы при развертывании код должен быть построен на Mac с использованием Xamarin Studio по их серверу сборки. Поэтому с тех пор я работал над попыткой открыть и построить все, используя Xamarin Studio, и я близок, но печально известная проблема ICommand - это мое последнее препятствие.

Есть ли, или нет, способ получить ICommands и библиотеку System.Windows, правильно помещенную в Xamarin Studio? Я действительно застрял, пока Xamarin не выпустит поддержку PCL?

ответ

5

Работает ли MvvmCross в студии Xamarin?

Да

Чтобы доказать это:

  • довольно много из N + 1 видео показать это используются.
  • много образцов (все не-NuGet них) сборки и запуска от XS

Есть ли, или нет, способ получить ICommands и библиотека System.Windows портирована в правильно в Xamarin Studio?

Проблема в настоящее время является то, что на стабильной отрасли, Xamarin компилятор не нравится PCL импорт MvxCommand который наследуется от ICommand

трудный путь вокруг этой проблемы:

  • переписать инструменты Xamarin для поддержки PCL - вот что делают в настоящее время гениальные, прекрасные и очень умные обезьяны Xamarin :)

Или ... немного более простой способ решения этой проблемы:

  • заменить ссылки NuGet к ПК встроенной библиотеки со ссылками на Xamarin-Mac построенных библиотек вместо - эти Xamarin-Mac-встроенные библиотеки доступны в https://github.com/slodge/MvvmCross-Binaries/

... Или действительно легкий путь вокруг проблемы:

  • вместо использования MvxCommand в моделях просмотра, просто реализовать свой собственный MyCommand класс для implemen t System.Windows.Input.ICommand (т.е.использовать реализацию в http://www.lines-davies.net/blog/?p=24)

Am Я действительно застрял, пока Xamarin не освободит их PCL поддержку?

Я не думаю, что так, - но где вы попали проблемы:

  • пожалуйста возвращаются на сайты, как StackOverflow с одной конкретной проблемой в то время - это место отлично подходит для поиска решений одного в то время :)
  • поговорить с поддержкой Xamarin - они, как правило, очень помогают в решении проблем.

Более того, даже если вы застряли ожидания ... то Xamarin уже выпустили PCL поддержку альфа-канал - так ожидание почти закончено уже :)

+0

Потрясающие, Стюарт, спасибо большое за очень хороший, ясный ответ. Оцените свои быстрые ответы. Я не могу дождаться, когда Xamarin получит поддержку PCL. –

+0

Не беспокойтесь - если вы просто создаете свою собственную команду, тогда я думаю, что она должна работать (это для меня!). Если вы нажмете другие проблемы, пожалуйста, напишите больше вопросов. Если вы можете, пожалуйста, также включите некоторые низкоуровневые технические подробности. например на этом я действительно должен был подумать о том, что такое «печально известная ошибка ICommand». Гораздо проще, если вы можете включить описание и некоторые сообщения об ошибках - эта деталь также поможет в течение нескольких месяцев, когда возникает совершенно другая проблема с ICommand, вызывающая проблемы;) – Stuart

+0

Стюарт, проблема заключается в том, что стабильная версия Xamarin Studio является реализацией. NET 4.0 и ICommand - это функция 4.5 (она не отображается до тех пор, пока я не изменю целевую структуру до 4.5), и поэтому не распознает ICommand. Поэтому я не могу реализовать System.Windows.Input.ICommand, в частности, так сказать. Вы говорите, что мне нужно создать свою собственную ICommand, чтобы имитировать интерфейс ICommand от Microsoft, а затем реализовать этот интерфейс в моем собственном классе MvxCommandEx, который имитирует ваш класс MvxCommand? –