Приложение 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, чтобы установить следующие часто используемые возможности:
Интернет (клиент и сервер)
- Наконец, добавьте все необходимые локальные ресурсы (например, файлы изображений) из существующих проектов платформы.