4 月 9 日更新:发布了 2019 年的新版本,再次恢复了 UWP 模板
UWP模板从VS2019中删除是正确的,我不知道它背后的原因,但我们必须处理它。但是,有一个页面可以让您逐步完成该过程。在 Visual Studio for Mac 中创建的项目已经存在了一段时间,这些项目也不包括 UWP 模板。完整的描述可以在这里找到:https ://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/windows/installation/取自此页面:
首先,右键单击解决方案并选择Add > New Project...并添加一个Blank App (Universal Windows)项目:
然后,选择最低和目标 UWP 版本。
右键单击 UWP 项目并选择Manage NuGet Packages...并添加Xamarin.Forms包。确保解决方案中的其他项目也更新到相同版本的 Xamarin.Forms 包。
此外,确保将在Build > Configuration Manager 窗口中构建新的 UWP 项目(默认情况下这可能不会发生)。勾选通用项目的构建和部署框:
右键单击 UWP 项目并选择添加 > 引用并创建对 Xamarin.Forms 应用程序项目(.NET Standard 或共享项目)的引用。
在 UWP 项目中,编辑以在第 52 行附近App.xaml.cs
的方法中包含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
,为 添加一个新的 xmlns 条目Xamarin.Forms.Platform.UWP
,如下所示:xmlns:forms="using:Xamarin.Forms.Platform.UWP"
。
在MainPage.xaml
中,更改 root <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());
从所需的现有平台项目中添加任何本地资源(例如图像文件)。
现在它应该像以前一样工作。我知道,对于以前刚刚工作的东西来说,经历它是一件麻烦事。对此感到抱歉,但这也应该让你到达那里。