Xamarin.Forms 中的 WinPhone 应用程序

WinPhone application in Xamarin.Forms

当我创建空白 Xamarin.Forms 应用程序时,没有加载 WinPhone 应用程序,为什么?

注意:
我正在试穿 Windows。

如果您从 Xamarin Studio 创建它,您将只会获得 Android 和 iOS 项目。您需要 Visual Studio 才能创建 WinPhone、Windows 和 UWP 项目。此外,您需要有相应的SDK才能加载和构建项目。

official documentation

中所述

Developing Xamarin.Forms applications for Windows platforms requires Visual Studio. The requirements page contains more information about the pre-requisites.

您必须从 Visual Studio 中手动将它添加到您的多平台移动解决方案中,然后您可以将 Xamarin.Forms nuget 添加到它。

完成步骤(按照link):

Adding a Windows Phone App

  • 右键单击解决方案 > 添加 > 新建项目...并添加空白应用程序 (Windows Phone)

右键单击新创建的项目 > 管理 NuGet 包...并添加 Xamarin.Forms 包。

右键单击项目 > 添加 > 引用并创建对共享 Xamarin.Forms 应用程序项目的项目引用。

编辑 App.xaml.cs 以在第 67 行附近的 OnLaunched 方法中包含 Init() 方法调用:

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

编辑 MainPage.xaml - 更改根元素

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

编辑 MainPage.xaml.cs 以删除:Phoneclass 名称的页面继承说明符。

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

仍然在 MainPage.xaml.cs 中,在 MainPage 构造函数中添加 LoadApplication 调用(第 28 行左右)以启动您的 Xamarin.Forms 应用程序:

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

双击 Package.appxmanifest 设置这些经常需要的功能:

互联网(客户端和服务器)

  • 最后,从所需的现有平台项目中添加任何本地资源(例如图像文件)。

我现在在空白的 .Forms 应用程序中有 WinPhone 应用程序,还有通用 Windows 项目。

我为此做了什么:

我做了

中的所有事情

Uninstall Xamarin completely, and reinstall it. That happened to me as well. I would uninstall Visual studio too. Install that first, then install Xamarin.

Edit: I know this sucks to do, but it was what the Xamarin team had me do to resolve it. As far as I know this is the official fix as of last week.