Приложение WinPhone в Xamarin.Forms

Когда я создаю пустое приложение Xamarin.Forms, приложение WinPhone не загружается, почему?

Замечания:
Я пытаюсь на Windows.

3 ответа

Решение

У меня сейчас приложение WinPhone в пустом.Forms приложении, а также проекты Universal Windows.

Что я сделал для этого:

Я все сделал в ответе Санджисана на этой странице

Полностью удалите Xamarin и переустановите его. Это случилось и со мной. Я бы тоже удалил Visual studio. Сначала установите это, затем установите Xamarin.

Редактировать: Я знаю, что это отстой, но команда Xamarin заставила меня сделать это. Насколько я знаю, это официальное исправление на прошлой неделе.

Если вы создадите его из Xamarin Studio, вы получите только проекты для Android и iOS. Вам нужна Visual Studio для создания проектов WinPhone, Windows и UWP. Кроме того, вам нужно иметь соответствующие SDK для загрузки и сборки проектов.

Как указано в официальной документации,

Для разработки приложений Xamarin.Forms для платформ Windows требуется Visual Studio. Страница требований содержит больше информации о предварительных условиях.

Вы должны вручную добавить его из Visual Studio в ваше многоплатформенное мобильное решение, а затем вы можете добавить Xamarin.Forms нюгет к этому.

Выполните шаги (перейдите по ссылке):

Добавление приложения для Windows Phone

  • Щелкните правой кнопкой мыши решение> Добавить> Новый проект... и добавьте пустое приложение (Windows Phone)

введите описание изображения здесь

Щелкните правой кнопкой мыши вновь созданный проект> Управление пакетами NuGet... и добавьте пакет Xamarin.Forms.

Щелкните правой кнопкой мыши проект> Добавить> Ссылка и создайте ссылку на проект для общего проекта приложения Xamarin.Forms.

Отредактируйте файл App.xaml.cs для включения вызова метода Init() в метод OnLaunched вокруг строки 67:

// add this line
Xamarin.Forms.Forms.Init (e); // requires LaunchActivatedEventArgs
// above this existing line
if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) {}

Edit MainPage.xaml - изменить корневой элемент

<forms:WindowsPhonePage
...
   xmlns:forms="using:Xamarin.Forms.Platform.WinRT"
...
</forms:WindowsPhonePage>

Отредактируйте файл MainPage.xaml.cs, чтобы удалить спецификатор наследования: PhonePage для имени класса.

public sealed partial class MainPage  // REMOVE ": PhonePage"

Еще в MainPage.xaml.cs, добавьте вызов LoadApplication в конструкторе MainPage (около строки 28), чтобы запустить приложение Xamarin.Forms:

// below this existing line
this.InitializeComponent();
// add this line
LoadApplication(new YOUR_NAMESPACE.App());

Дважды щелкните Package.appxmanifest, чтобы установить следующие часто используемые возможности:

Интернет (клиент и сервер)

  • Наконец, добавьте все необходимые локальные ресурсы (например, файлы изображений) из существующих проектов платформы.
Другие вопросы по тегам