【问题标题】:How can I add a UWP target to an existing Xamarin Forms project?如何将 UWP 目标添加到现有 Xamarin Forms 项目?
【发布时间】:2017-05-02 17:04:03
【问题描述】:

我有一个现有的 Xamarin Forms 应用程序,该应用程序设置为针对 Android 和 iOS 构建。我想添加一个 UWP 目标,以便查看应用程序在 Windows 上的执行情况。我假设我无需为 Windows 创建新的 UI 就可以做到这一点?

我在 Windows 10 上使用 Visual Studio 2015。

【问题讨论】:

标签: visual-studio-2015 xamarin.forms xamarin.uwp


【解决方案1】:

你应该可以关注这个 Xamarin documentation page

旧 xamarin.com 链接old documentation page

它由几个步骤组成,一切都在 Visual Studio 中,因为 Xamarin Studio 不支持 UWP:

  1. 将干净的 UWP 项目添加到您的解决方案中。
  2. 将 Xamarin.Forms NuGet 包添加到您的 UWP 项目,确保版本与您的其他项目同步
  3. Build > Configuration Manager 下确保正在构建和部署您的 UWP 项目

  1. 右键单击项目 > 添加 > 引用并引用您的 PCL 或共享项目

  1. OnLaunched 方法中编辑您的 App.xaml.cs(在模板中的第 63 行附近):
    // under this line
    rootFrame.NavigationFailed += OnNavigationFailed;
    // add this line
    Xamarin.Forms.Forms.Init (e); // requires the `e` parameter
  1. MainPage.xaml中删除Page标签中的所有内容,它应该是一个空的Grid标签。

  2. 同样在 MainPage.xaml 中添加这个命名空间:xmlns:forms="using:Xamarin.Forms.Platform.UWP"

  3. 仍在 MainPage.xaml 中将 Page 标签更改为 forms:WindowsPage

  4. MainPage.xaml.cs中删除Page的继承,使其变为public sealed partial class MainPage // REMOVE ": Page"

  5. 仍然在 MainPage.xaml.cs 的构造函数中添加 LoadApplication,如下所示:

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

另请注意,您必须提供图像等资源,并添加您可能已安装在其他项目(如您正在使用的插件)中的所有使用过的 NuGet 包。在后一种情况下,最好检查是否所有包都可用于 UWP。

还有几个已知问题:

  • 一些视图/页面的外观尚未最终确定有几个 导航周围的已知崩溃文本对齐在 一些标题

【讨论】:

  • 在您的注释中,您说我们应该添加“所有 NuGet 包”,哪些包?在许多站点中,我看到他们只需要添加 Xamarin.forms Nuget 包。
  • 对此进行了一些澄清,你是对的。我的意思是你可能已经安装在其他项目上的 NuGet 包,如插件等。如果您正在设置一个干净的项目,那么 Xamarin.Forms 包就足够了。
  • 好的,我的解决方案中已经有 15 个其他项目。这意味着我需要添加我的解决方案中安装的所有 nuget 包?还是只有那些 UWP 引用的 .shared(.NetStandard Library) 项目?
  • 不一定,只有您通常安装在共享项目和 iOS 和 Android 项目上的那些,才是您现在需要添加到 UWP 中的。如果你的 NuGet 只是安装在共享库中,你可能不需要在 UWP 上安装它。
  • @Gerald Versluis 你在这里也解释得很好:youtube.com/watch?v=mbIvG8ripcw&t=590s
猜你喜欢
  • 1970-01-01
  • 2021-11-25
  • 2021-10-13
  • 1970-01-01
  • 2017-10-16
  • 1970-01-01
  • 1970-01-01
  • 2021-07-07
  • 2019-07-07
相关资源
最近更新 更多