4

我已将UWP项目添加到我的Xamarin.Forms解决方案中。页面顶部有一个链接,上面写着:Hot Reload Available

但是当我更改XAML代码时没有任何反应!据我检查,对于此功能,我不应该添加任何额外的扩展库。我怎样才能打开这个功能?

4

5 回答 5

9

编辑:我在下面引用的文档现在指出,除了 iOS 和 Android 之外,现在还为 Xamarin Forms UWP 应用程序实现了热重载。耶!

——</p>

我添加这个答案是希望它可以节省其他人一些时间想知道为什么它不适合他们。

对最初提出的问题的简短回答是,现在

热重载不适用于 Xamarin Forms UWP 项目。

尽管模拟器窗口顶部有误导性的“Hot Reload available”消息。

它适用于 Xamarin Forms iOS 和 Android 项目,也适用于非 Xamarin UWP 项目。

这是记录在案的,下面几段:

http://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/hot-reload

如果您希望它受到更多关注,我建议您对此建议进行投票:

https://developercommunity.visualstudio.com/content/idea/661682/xaml-hot-reload-for-xamarinforms-on-uwp.html

于 2019-10-04T00:12:36.783 回答
2

UWP 项目的 Hotreload 与稳定的 16.8 更新一起发布。

确保您已启用 UWP

在此处输入图像描述

Tools并在-> Options-> Debugging->下将模式设置为“仅更改”Hot Reload

Xamarin.Forms “仅更改” XAML 热重载现在支持 UWP:在此版本中,我们开始推出对高度要求的功能的支持,该功能在面向 UWP 时启用 Xamarin.Forms 项目中的新更改仅 XAML 热重载支持。请注意,此功能仍在开发中,在编辑 XAML 时,现在将触发正在运行的应用程序中的更新,其他功能,例如应用程序内工具栏(元素选择等)尚未完全实现,但将在未来的版本中实现。

于 2020-08-28T14:01:55.747 回答
2

使用 XAML 热重载不需要额外的安装或设置。它内置在 Visual Studio 中,可以在 IDE 设置中启用。启用后,您可以通过在模拟器、模拟器或物理设备上调试您的应用程序来开始使用 XAML 热重载。

在 Windows 上,可以通过选中“工具”>“选项”>“Xamarin”>“热重载”中的“启用 Xamarin 热重载”复选框来启用 XAML 热重载。

有关更多信息,请访问文档

此致。

于 2019-08-15T02:07:54.910 回答
2

首先,截至2019 年 8 月 15 日, Hot Reload 仍处于预览阶段,并且正在接受社区测试,并且存在许多已知错误和问题。

以下是您能够使用热重载的最低要求

Visual Studio 2019 16.3 或更高版本

Visual Studio 2019 for Mac 8.3 或更高版本

Xamarin.Forms 4.1 或更高版本

现在您可以通过以下方式启用热重载:

在 Windows 上,可以通过选中Tools > Options > Xamarin > Hot Reload中的 Enable Xamarin Hot Reload 复选框来启用 XAML Hot Reload 。

在 Mac 上,可以通过选中Visual Studio > Preferences > Projects > Xamarin Hot Reload中的 Enable Xamarin Hot Reload 复选框来启用 XAML Hot Reload 。

限制(已知)

不能在 XAML 热重载会话期间添加、删除或重命名文件或 NuGet 包。

如果添加或删除文件或 NuGet 包,请重新构建并重新部署应用以继续使用 XAML 热重载。

将链接器设置为 Link None 以获得最佳体验。Link SDK only 设置在大多数情况下都有效,但在某些情况下可能会失败。

在物理 iPhone 上进行调试需要解释器使用 XAML 热重载。将 --interpreter 添加到 iOS 构建设置中的 Additional mtouch arguments 字段以使用 XAML 热重载。

通过使用其 x:Name 值将控件分配给另一个字段或属性而创建的任何引用都不会重新加载。

在 AppShell.xaml 中更新 Shell 应用程序的可视层次结构可能会导致维护应用程序状态的问题。重建应用程序以继续重新加载。XAML Hot Reload 无法重新加载 C# 代码,包括事件处理程序、自定义控件、页面代码隐藏和其他类。

以后可以参考Hot Reload的官方文档

于 2019-08-15T09:16:17.893 回答
-1

XAML 热重载仅在 iOS 或 Android 上调试时有效。

检查文档: https ://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/hot-reload

于 2019-11-25T19:50:13.760 回答