I would like to take a file that is an IL file, and at run time
compile it back to an exe.

Right now I can use process.start to fire off the command line with
parameters (ilasm.exe) but I would like to automate this process from
a C# service I will create.

Is there a way to do this with reflection and reflection.emit?

While this works:

string rawText = File.ReadAllText(string.Format("c:\\temp\\{0}.il",
Utility.GetAppSetting("baseName")), Encoding.ASCII);

rawText = rawText.Replace("[--STRIP--]", guid);

File.Delete(string.Format("c:\\temp\\{0}.il",
Utility.GetAppSetting("baseName")));

File.WriteAllText(string.Format("c:\\temp\\{0}.il",
Utility.GetAppSetting("baseName")),rawText, Encoding.ASCII);

pi = new ProcessStartInfo();
pi.WindowStyle = ProcessWindowStyle.Hidden;
pi.FileName = "\"" + ilasm + "\"";
pi.Arguments = string.Format("c:\\temp\\{0}.il",
Utility.GetAppSetting("baseName"));

using(Process p = Process.Start(pi))
{
    p.WaitForExit();
}

It is not ideal as I really would like this to be a streamlined
process.

I have seen examples of creating the IL at runtime, then saving, but I
need to use the IL I already have in file form and compile it back to
an exe.

Thanks.

Reply via email to