WPF应用启动慢的问题解决
程序员文章站
2022-06-09 19:10:13
方案一,更改启动项出问题应用的启动项是使用的默认设置,查看app.g.cs文件,可以看到自动生成的main入口函数,如下:[system.stathreadattribute()][system.di...
方案一,更改启动项
出问题应用的启动项是使用的默认设置,查看app.g.cs文件,可以看到自动生成的main入口函数,如下:
[system.stathreadattribute()] [system.diagnostics.debuggernonusercodeattribute()] [system.codedom.compiler.generatedcodeattribute("presentationbuildtasks", "4.0.0.0")] public static void main() { wpfapp1.app app = new wpfapp1.app(); app.initializecomponent(); app.run(); }
新建一个startup文件,将项目启动项修改为wpfapp1.startup,这样就可以解决该问题,代码如下。与原始方案对比,该方案使用了windowsformsapplicationbase,该方案为什么可以解决启动慢的问题,我还没搞清楚,或许和方案二有关。
// startup.cs class startup : application { [stathread] public static void main(string[] args) { var startup = new mystartup(); startup.run(args); } } // 需要添加对microsoft.visualbasic的引用 class mystartup : windowsformsapplicationbase { protected override bool onstartup(startupeventargs eventargs) { app app = new app(); app.run(); return false; } } // app.xaml.cs 删除app.xaml中的startupuri="mainwindow.xaml" public partial class app : application { public app() { var win = new mainwindow(); win.show(); } }
方案二,禁用检查应用程序的cas发布者策略
在config文件中添加如下配置项。generatepublisherevidence指定运行时是否为cas创建发布者证据,其默认值为true,即创建发布者证据,这样可能会导致超时和服务启动延迟。因此将其置为false,该方法也可以解决启动慢的问题。
<configuration> <runtime> <generatepublisherevidence enabled="false"/> </runtime> </configuration>
以上就是wpf应用启动慢的问题解决的详细内容,更多关于wpf应用启动慢的资料请关注其它相关文章!
上一篇: 5G NR CP长度计算
下一篇: PHP aes (ecb)解密后乱码问题