我使用clickonce 3.5部署了大应用程序(在600个文件中190 MB).安装此应用程序后,我从位于"开始"菜单中的链接运行它,但显示我的启动画面需要4-12秒.从.exe文件运行此应用程序时,1秒后可以看到启动画面.我的应用程序不使用自动更新(Clickonce更新是从源代码手动完成的)
我尝试使用dotTrace来分析这个应用程序,以找出在启动过程中需要这么长时间的内容并找出答案
IActContext System.Deployment.Internal.Isolation.IsolationInterop.CreateActContext(IDefinitionAppId)
Run Code Online (Sandbox Code Playgroud)
花了很多时间
这是完整的子树:
36,71% SetDomainManager - 12972 ms - 0 calls - System.AppDomain.SetDomainManager(Evidence, Evidence, IntPtr, Boolean)
18,52% CreateActivationContext - 6542 ms - 0 calls - System.Deployment.Internal.Isolation.Manifest.CmsUtils.CreateActivationContext(String, String [], Boolean, ApplicationIdentity &, ActivationContext &)
18,52% ActivationContext..ctor - 6542 ms - 0 calls - System.ActivationContext..ctor(ApplicationIdentity)
18,52% CreateFromName - 6542 ms - 0 calls - System.ActivationContext.CreateFromName(ApplicationIdentity)
18,52% CreateActContext - 6542 ms - 0 calls - System.Deployment.Internal.Isolation.IsolationInterop.CreateActContext(IDefinitionAppId)
18,19% SetupApplicationHelper - 6429 ms - 0 calls - System.AppDomain.SetupApplicationHelper(Evidence, Evidence, ApplicationIdentity, …Run Code Online (Sandbox Code Playgroud)