首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VS2019 + Xamarin.Forms = UWP/EXE下降?

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

Stack Overflow用户
提问于 2019-04-03 06:12:08
回答 3查看 3.4K关注 0票数 2

如何使UWP返回到Xamarin.Forms跨平台创建中,以使模板可以滚动?

在浏览了发布说明、玩in 2019的UI和几个小时的网络搜索之后,我发现只有其他人在预览版本中发布了这个问题。有人说UWP已经永远消失了,也有人说它只是默认情况下不包括在内(所以微软可以吹嘘安装是如何从23 8GB到8GB的)--但是对于如何重新启用它,或者将它添加到项目创建向导(除了添加一个空白的UWP项目没有iOS/Android项目中的所有代码),却没有任何帮助。

代码语言:javascript
复制
<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模板。

实际情况:VisualStudio2019似乎已经从Xamarin.Forms跨平台项目创建中删除了UWP模板。

EN

回答 3

Stack Overflow用户

发布于 2019-04-03 08:17:39

更新9月4月9日:发布了2019年的新版本,它再次恢复了UWP模板。

UWP模板从VS2019中删除是正确的,我不知道其背后的原因,但我们必须处理它。但是,有一个页面可以一步一步地运行整个过程。在中创建的项目已经有一段时间了,这些项目也不包括UWP模板。可以在这里找到完整的描述:从本页获取的https://learn.microsoft.com/en-us/xamarin/xamarin-forms/platform/windows/installation/

首先,右键单击解决方案并选择Add > New .并添加空白应用程序(Universal )项目:

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

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

另外,确保在Build > Configuration Manager窗口中构建新的UWP项目(这在默认情况下可能不会发生)。勾选通用项目的BuildDeploy框:

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

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

代码语言:javascript
复制
// 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,如下所示:

代码语言:javascript
复制
<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中,在MainPage构造函数中添加LoadApplication调用以启动Xamarin.Forms应用程序:

代码语言:javascript
复制
// below this existing line
this.InitializeComponent();
// add this line
LoadApplication(new YOUR_NAMESPACE.App());

添加任何本地资源(如。(映像文件)来自所需的现有平台项目。

现在应该像以前一样起作用了。我知道,这是一个麻烦,通过它的东西,刚才的工作。很抱歉,但这也会把你带到那里的。

票数 4
EN

Stack Overflow用户

发布于 2019-04-03 14:40:35

使用更新16.0.1,微软恢复了新Xamarin.Forms应用程序的UWP创建

除非您尝试使用Shell,这是UWP不可用的:

修正了VisualStudio2019版本16.0.1中的问题 在从“移动应用程序( App ( Xamarin.Forms )”项目模板创建新的Xamarin.Forms项目时添加Windows平台的选项。

票数 0
EN

Stack Overflow用户

发布于 2019-04-04 06:21:46

编辑(7/17/2021):我已经启动了一个新的xamarin解决方案,似乎在所有预构建的模板(空白、主细节、选项卡式布局)上,所有三个平台都可以在VS2019中重新使用。

各位,谢谢你们的投入。很棒的信息!帮助我面对这样一个事实: UWP已经从Xamarin.Forms新项目的脚手架上消失了。

但是,对于我所发现的问题,(最简单的)解决方案是:open VS2017。创建新的Xamarin.Forms跨平台项目。一旦它打开了,就拯救一切。然后关闭VS2017并在VS2019中打开(如果需要)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55488215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档