gpt4 book ai didi

AvaloniaUI:已在其中一个 AppBuilder 实例上调用了安装程序

转载 作者:行者123 更新时间:2023-12-05 04:53:31 26 4
gpt4 key购买 nike

每当我尝试重新启动 Avalonia 应用程序表单基础应用程序时,我都会收到一个异常:“已在其中一个 AppBuilder 实例上调用了安装程序。”在 SetupWithLifetime() 调用上。

应用启动代码为:

       public static void Start()
{
lifeTime = new ClassicDesktopStyleApplicationLifetime()
{
ShutdownMode = ShutdownMode.OnLastWindowClose
};

BuildAvaloniaApp().SetupWithLifetime(lifeTime);

lifeTime.Start(new[] { "" });
}

public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.LogToTrace()
.UseReactiveUI();

应用程序关闭代码是:

        lifeTime.Shutdown();
lifeTime.Dispose();

这是功能示例代码的链接,它会产生此错误:https://pastebin.com/J1jqppPv有没有人遇到过这样的问题?谢谢

最佳答案

SetupWithLifetime 调用只能调用一次的Setup。一种可能的解决方案是在 BuildAvaloniaApp 上调用 SetupWithoutStarting,同样只能调用一次,例如:

private static AppBuilder s_builder;

static void Main(string[] args)
{
s_builder = BuildAvaloniaApp();
}

public static void Start()
{
lifeTime = new ClassicDesktopStyleApplicationLifetime()
{
ShutdownMode = ShutdownMode.OnLastWindowClose
};

s_builder.Instance.Lifetime = lifeTime;
s_builder.Instance.OnFrameworkInitializationCompleted();

lifeTime.Start(new[] { "" });
}

private static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.LogToTrace()
.UseReactiveUI();

附加说明:重启应用程序可能无法在 macOS 上运行。

关于AvaloniaUI:已在其中一个 AppBuilder 实例上调用了安装程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65995606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com