作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当我尝试重新启动 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/
我是一名优秀的程序员,十分优秀!