11

我想在安装结束时执行 nGen,只是为了提高我的应用程序首次启动时的感知性能。我怎么能那样做?有一些最佳实践吗?我可以确定 nGen 始终与 .NET Framework 一起安装吗?

谢谢!

4

5 回答 5

8

您可以使用自定义安装程序操作来生成您的程序集。以下链接更详细地解释了这一点:

http://www.dotnetperls.com/ngen

我还记得关于 Paint.NET 安装程序(包括 .NET Framework 引导、预 JITting 等)的一个很好的讨论,但我现在找不到它。如果我再次遇到它,我会编辑这篇文章。

于 2009-05-11T16:49:50.233 回答
1

首先“是”,您可以保证,如果他们安装了 .Net 框架,他们就拥有 Ngen。您唯一需要知道的是他们安装了哪个版本,因为它在 1.1 和 2.0 之间是不同的。我过去所做的只是创建了一个我的安装程序在最后调用的脚本,它在所有程序集上运行 ngen。

于 2009-02-06T21:57:10.743 回答
0

要提高启动时的感知性能,请查看应用程序中的静态。启动应用程序时,大量静态因素会导致大量开销。

此外,请考虑在 EXE 中仅包含主窗体,而在单独的 DLL 中包含其他所有内容。这不仅提高了性能,而且有助于保证您将视图与数据分开。

最后,如果您设置了 NGENing,请查看有关在您的 MSI 中运行自定义操作的帮助。您应该能够设置自定义操作来执行您想要的操作。

于 2009-02-07T01:34:56.857 回答
0

正如“Micah”所说,的,您会发现 NGen 与 .Net Framework 一起安装。

查看 WiX 3.5 安装程序示例如何在安装期间对您的程序集进行 NGen。

NGen:创建设置项目

我希望这能帮到您。

于 2011-03-17T09:37:36.510 回答
0

发射ngen.exe

>ngen install c:\myfiles\MyAssembly.exe
于 2013-11-07T02:52:05.217 回答