Die .Net-CLR als Makro-Baukasten

Übergabe der Argumente

Alle Argumente werden von der CLR als Array aus Strings an die Methode Main des Programms übergeben. Vor dem Start muss css also überprüfen, ob der Anwender einen passenden Pfad zu einer C#-Datei übergeben hat. Ist dieser vorhanden wird er als Argument an den CodeProvider übergeben.

static void Main(string[] args)
{
if (args.Length != 0)
{
CSharpCodeProvider compiler = new CSharpCodeProvider ();
CompilerParameters options = new CompilerParameters();
compiler.CompileAssemblyFromFile( options, args[0]);
}
}

Mit diesem Programm können Sie schon einmal einen ersten Testlauf durchführen. Legen Sie dazu zum Beispiel die folgende Datei unter dem Namen test.cs an:

using System;
using System.Text;

namespace css
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hallo aus Ihrem ersten CS-Skript");
}
}
}

Wenn Sie nun das eigentliche Programm mit css test.cs aufrufen, wird test.cs kompiliert. Allerdings sieht man überhaupt nichts. Das liegt daran, dass das Programm mit dem Resultat von CompileAssemblyFromFile() noch nichts unternimmt. Das müssen Sie im nächsten Schritt ändern.