Ngen 安装程序






2.89/5 (8投票s)
提供了一个用于使用 Ngen 选择 EXE 的 GUI。
引言
这个小型应用程序允许用户从对话框中选择一个 EXE,然后使用本机映像生成器 (Ngen.exe)。
正如大多数使用 Ngen 的人所知,它是一个命令行工具,不太直观。我厌倦了输入命令,所以创建了这个应用程序来简单地选择 EXE。
使用代码
代码尽可能简单。你选择按钮并选择你的程序的 EXE。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.IO;
namespace NgenInstaller
{
public partial class MainForm : Form
{
private Process ngenProcess = new Process();
private string runtimeStr =
RuntimeEnvironment.GetRuntimeDirectory();
private string ngenStr;
public MainForm()
{
InitializeComponent();
ngenStr = Path.Combine(runtimeStr, "ngen.exe");
}
private void btnSelect_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "EXE files (*.exe)|*.exe";
ofd.FilterIndex = 1;
ofd.RestoreDirectory = true;
DialogResult dr = DialogResult.OK;
if (ofd.ShowDialog() == dr)
{
ngenProcess.StartInfo.UseShellExecute = false;
ngenProcess.StartInfo.FileName = ngenStr;
ngenProcess.StartInfo.Arguments =
string.Format("install \"{0}\"", ofd.FileName);
ngenProcess.Start();
ngenProcess.WaitForExit();
}
}
}
}
关注点
本机映像生成器 (Ngen.exe) 是一种可以提高托管应用程序性能的工具。Ngen.exe 创建本机映像,这些文件包含编译后的特定处理器的机器代码,并将它们安装到本地计算机的本机映像缓存中。运行时可以使用缓存中的本机映像,而不是使用即时 (JIT) 编译器来编译原始程序集。
有关更多信息,请参阅:http://msdn.microsoft.com/en-us/library/6t9t5wcf(VS.80).aspx。