65.9K
CodeProject 正在变化。 阅读更多。
Home

Ngen 安装程序

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.89/5 (8投票s)

2009年6月4日

CPOL
viewsIcon

34213

downloadIcon

899

提供了一个用于使用 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

© . All rights reserved.