首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不带安装程序的Ngen

不带安装程序的Ngen
EN

Stack Overflow用户
提问于 2012-06-21 00:53:40
回答 2查看 852关注 0票数 2

我以前没有使用NGen,但现在我需要提高我的WPF应用程序的启动性能。据我所知,常见的情况是在应用程序安装期间运行ngen。但我的应用程序是用于公司内部需要的,并且没有安装程序(这只会使事情变得复杂)。

还有没有其他方法可以运行ngen?如果我在应用程序第一次启动时执行此操作,该怎么办?为此,我是否需要管理员权限?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-21 04:20:34

根据MSDN (注释下面的第一行),您需要拥有管理权限才能运行ngen。将您的应用程序打包到一个简单的MSI中可能会更容易,因为我不认为您可以从应用程序内部提升特权来运行ngen。您必须更改清单文件,这将导致您的应用程序在每次启动时都需要管理权限。

票数 2
EN

Stack Overflow用户

发布于 2013-12-18 17:39:47

如果你的应用目标是Windows4.5或更高版本,并在Windows8或更高版本上运行,那么你也许能够利用Auto NGEN。Auto NGEN是在用户机器空闲时运行的维护任务。维护任务会在“合格的”程序集上自动运行NGEN。

对于您的场景,您需要将应用程序安装到GAC中。在应用程序首次启动时,.NET运行时会生成一个使用日志,并记录您的应用程序程序集。自动NGEN任务只是消耗这些日志,并为您运行NGEN。因此,通常情况下,在维护任务运行完成后,您将获得更好的启动性能。(我认为它通常运行在凌晨3点)

有关信息,请参阅以下链接:http://eknowledger.wordpress.com/2012/05/04/clr-4-5-net-framework-kernel-improvements/

请注意,就像NGEN一样,将程序集安装到GAC需要管理员权限。:)因此,您可能更喜欢创建一个安装程序并在安装时启用NGEN,如上面的答案所述。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11124401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档