热门搜索引擎无法在.net maui中工作使用ios项目

8wtpewkr  于 2023-10-21  发布在  iOS
关注(0)|答案(1)|浏览(83)

我在iOS项目中尝试实现热重载时遇到问题。我已经遵循了微软提供的说明,但它似乎不适用于iOS。是否有专门针对iOS的其他配置或步骤?

HotReloadService.cs
#if DEBUG
[assembly: System.Reflection.Metadata.MetadataUpdateHandlerAttribute(typeof(ThreadsApp.Helpers.HotReloadService))]
namespace ThreadsApp.Helpers;

public static class HotReloadService
{
#pragma warning disable CS8632 // The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
    public static event Action<Type[]?>? UpdateApplicationEvent;
#pragma warning restore CS8632 // The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.

    internal static void ClearCache(Type[]? types) { }
    internal static void UpdateApplication(Type[]? types)
    {
        UpdateApplicationEvent?.Invoke(types);
    }
}
#endif

BasePage
using ThreadsApp.Helpers;

namespace ThreadsApp.Pages;

public abstract class BasePage : ContentPage
{
    public abstract void Build();

    protected override void OnNavigatedTo(NavigatedToEventArgs args)
    {
        base.OnNavigatedTo(args);

        Build();
#if DEBUG
        HotReloadService.UpdateApplicationEvent += ReloadUI;
#endif
    }

    protected override void OnNavigatedFrom(NavigatedFromEventArgs args)
    {
        base.OnNavigatedFrom(args);

#if DEBUG
        HotReloadService.UpdateApplicationEvent -= ReloadUI;
#endif
    }

    private void ReloadUI(Type[] obj)
    {
        MainThread.BeginInvokeOnMainThread(() =>
        {
            Build();
        });
    }
}

我已经将此构建集成到我的iOS项目中,并在我的UI页面中继承了指定的基类,而不是ContentPage。但是,当我进行更改时,iOS项目中似乎没有触发任何事件。
我也尝试在iOS Visual Studio首选项中设置Hot Advertisement,但它没有解决这个问题。

mutmk8jj

mutmk8jj1#

As stated in MAUI Hot Reload document,不支持c#代码热重载。
XAML Hot Toolkit不会重新加载C#代码,包括事件处理程序。
从你的帖子中的描述来看,你正在使用MetadataUpdateReader来扩展.NET Hot插件,这是VS的一个功能。我可以在iOS平台上重现这个问题,建议你尝试使用VS(https://learn.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2022)报告问题。

相关问题