VS2019 + Xamarin.Forms = UWP / EXE下降了吗?

问题描述 投票:1回答:3

如何让UWP重新进入Xamarin.Forms跨平台创建以准备好模板?

在阅读发行说明,使用VS2019的UI和几个小时的网络搜索后,我发现其他人在预览版本中发布了有关该问题的信息。有人说UWP已经一去不复返了,有人说它默认不包括在内(所以微软可以吹嘘安装如何从23GB升级到8GB或类似的东西) - 但是没有帮助重新启用它,或者添加它到项目创建向导(除了添加一个空白的UWP项目没有iOS / Android项目中的所有代码)。

<Project Sdk="Microsoft.NET.Sdk">
// the code is not the problem here,
// getting TO the code is the problem
</Project>

预期:在VS2017中,Xamarin.Forms默认情况下跨平台提供iOS + Android + UWP模板。

实际:Visual Studio 2019似乎已从Xamarin.Forms跨平台项目创建中删除了UWP模板。

templates xamarin.forms uwp visual-studio-2019
3个回答
3
投票

更新9 apr。:发布了新版本2019,它再次恢复了UWP模板

从VS2019中删除UWP模板是正确的,我不知道它背后的原因,但我们必须处理它。但是,有一个页面会逐步指导您完成整个过程。对于在Visual Studio for Mac中创建的项目,它已经有一段时间了,它们也不包括UWP模板。完整的描述可以在这里找到:https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/windows/installation/取自本页:

首先,右键单击解决方案,然后选择添加>新建项目...并添加空白应用程序(通用Windows)项目:

Select Blank App template

然后,选择最小和目标UWP版本。

右键单击UWP项目并选择Manage NuGet Packages ...并添加Xamarin.Forms包。确保解决方案中的其他项目也更新为相同版本的Xamarin.Forms包。

此外,确保将在Build> Configuration Manager窗口中构建新的UWP项目(默认情况下可能不会发生这种情况)。勾选Universal项目的Build和Deploy框:

Build configuration

右键单击UWP项目并选择Add> Reference并创建对Xamarin.Forms应用程序项目(.NET Standard或Shared Project)的引用。

在UWP项目中,编辑App.xaml.cs以在第52行的Init方法中包含OnLaunched方法调用:

// under this line
rootFrame.NavigationFailed += OnNavigationFailed;
// add this line
Xamarin.Forms.Forms.Init (e); // requires the `e` parameter

在UWP项目中,通过删除MainPage.xaml元素中包含的Grid来编辑Page。然后在MainPage.xaml中,为Xamarin.Forms.Platform.UWP添加一个新的xmlns条目,如下所示:xmlns:forms="using:Xamarin.Forms.Platform.UWP"

MainPage.xaml中,更改根<Page element to <forms:WindowsPage,如下所示:

<forms:WindowsPage
...
   xmlns:forms="using:Xamarin.Forms.Platform.UWP"
...
</forms:WindowsPage>

在UWP项目中,编辑MainPage.xaml.cs以删除类名称的:Page继承说明符(因为它现在将继承WindowsPage,因为在上一步中进行了更改)

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

MainPage.xaml.cs中,在LoadApplication构造函数中添加MainPage调用以启动Xamarin.Forms应用程序:

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

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

现在它应该像以前一样工作。我知道,通过以前的工作来完成它是一件麻烦事。对不起,但这也应该让你在那里。


0
投票

谢谢大家的意见。很棒的信息!它帮助我自己去面对这样一个事实:UWP(现在)已经从Xamarin.Forms新项目脚手架消失了。

但是,问题的(最简单的)解决方案要求我找到的是:打开VS2017。创建新的Xamarin.Forms跨平台项目。一旦打开,全部保存。如果需要,然后关闭VS2017并在VS2019中打开。


0
投票

通过Update 16.0.1,Microsoft恢复了the UWP creation on new Xamarin.Forms applications

enter image description here

除非您尝试使用不适用于UWP的Shell:

enter image description here

Visual Studio 2019 16.0.1版中修复的问题

从“移动应用程序(Xamarin.Forms)”项目模板创建新的Xamarin.Forms项目时,为Windows(UWP)平台添加选项。

© www.soinside.com 2019 - 2024. All rights reserved.