Xamarin 热重载不工作。目前我正在使用iOS模拟器

Posted

技术标签:

【中文标题】Xamarin 热重载不工作。目前我正在使用iOS模拟器【英文标题】:Xamarin Hot Reload not working. Currently I am using iOS simulator 【发布时间】:2020-11-25 01:58:18 【问题描述】:

查看输出,正在初始化,我将 ios 构建的链接器行为设置为“不链接”。当我进行任何更改时,它确实会注册为输出窗口中所见的更改,并且看起来它正在工作,但我在模拟器上看不到任何更改。

【问题讨论】:

你的系统是什么? Windows 还是 MacOS?尚不支持 MacOS。您是否检查过热重载已启用?您可以尝试链接中的步骤来启用它。 docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/hot-reload 您好,我使用的是 Windows。是的,启用了热重载。它也应该在 Mac 上工作?我观看了 Microsoft 的一个视频,他们在其中解释了热重载,并且他们正在使用 Mac 在模拟器上进行构建。 【参考方案1】:

我找到了解决办法。不过奇怪的修复。

所以,为了让你的热重载工作

    确保通过工具 ==> 选项 ==> 热重载 ==> 勾选启用 XAML 热重载。 对于 Mac,工具 ==> 添加自定义工具 ==> Xaml 热重载 ==> 启用

    右键单击 iOS 项目 ==> Properties ==> iOS 构建并确保将链接器行为选择为“不链接”。 对于 Mac,选项 ==> iOS 构建 ==> 将链接器行为设置为不链接。 如果您要构建到物理 iOS 设备中,请在 Additional mtouch arguments 字段下键入 --interpreter

    从它所在的文件夹中打开解决方案。从 VS 打开项目页面打开解决方案将不起作用。

【讨论】:

感谢分享。不要忘记接受答案。 难以置信地在 2021 年,这仍然是唯一的解决方法(尤其是第 3 点。)哇 我知道吗?我很惊讶这是解决方案 这在 iOS 16.10.x 和 16.11 预览版 2.0 中完全被破坏。确认它可以使用旧版本 16.9.0。在我的情况下,第 3 步不是一个因素。 @bcr 看到我的回答。也许也可以帮助你【参考方案2】:

Visual Studio Mac 8.10.x 和 Vs Windows 16.10.x 通常停止工作,并且没有任何答案有帮助。实际上,当您从模板打开一个新项目时,Hot Reload 工作正常。所以它不适用于现有的旧项目。我已经在我现有的项目和新的测试项目上打开了 IOS 项目的 cs.proj 文件,将测试项目中的每个设置和应用设置与我现有的项目完全相同,之后热重载工作正常。我不能说到底是哪个设置。

我删除的设置

我替换的设置

【讨论】:

谢谢@Emil。实际上,即使是模板(单页)中的新应用程序也不适合我。 VS 16.10.3 到 Mac 上的 iOS 模拟器是我的最新尝试。 在 VS for Mac(空白应用程序)上使用相同的模板对我有用,仅更改,使用相同的模拟器。 甲板上似乎有一个修复:developercommunity.visualstudio.com/t/…

以上是关于Xamarin 热重载不工作。目前我正在使用iOS模拟器的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 正在执行热重启而不是热重载 [Ubuntu]

sass 的 webpack 实时热重载

React 创建应用程序热重载并不总是在 linux 上工作

颤振热重载和热重启不起作用

没有 Ionic 的设备上的 Cordova 热重载

Webpack 开发服务器不热重载 .vue 文件