【发布时间】:2011-08-08 19:32:50
【问题描述】:
在 Process Explorer 中,我看到 IIS 正在加载一些系统 DLL 的本机版本,而不是常规托管的。 例如,我看到了 Microsoft.JScript.ni.dll、System.Data.ni.dll、mscorlib.ni.dll 等等。
从来没有人在这台服务器上运行过 ngen。
这是 Windows 2008 R2。
这可能是什么原因造成的?
【问题讨论】:
在 Process Explorer 中,我看到 IIS 正在加载一些系统 DLL 的本机版本,而不是常规托管的。 例如,我看到了 Microsoft.JScript.ni.dll、System.Data.ni.dll、mscorlib.ni.dll 等等。
从来没有人在这台服务器上运行过 ngen。
这是 Windows 2008 R2。
这可能是什么原因造成的?
【问题讨论】:
ngen 在安装框架时运行。这些是常用的程序集,因此 .net 假定您将使用它们并为您优化它。
【讨论】:
这是 Ngen 工作的结果 - 将程序集预编译为本机代码(而不是 JIT)以提高其性能。
Ngen 状态为 Native Image Generator,所以 .ni.dll 表示相同的 - 原生图像。
【讨论】: