Die .Net-CLR als Makro-Baukasten

Ausgabe der Fehler

Um zu ermitteln, ob überhaupt Fehler aufgetreten sind, fragen Sie einfach die Count-Eigenschaft des Error-Objektes ab:

CompilerResults results = c.CompileAssemblyFromFile( options, args[0]);

if (results.Errors.Count != 0)
{
DumpErrors(results.Errors);
}

Liegen Fehler vor, dann geben Sie die Fehler einfach nacheinander aus.

private static void DumpErrors(CompilerErrorCollection collection)
{
foreach (CompilerError error in collection)
{
Console.WriteLine( error.Line.ToString() + "," + error.Column.ToString() + ": " + error.ErrorText);
}
}

Diese neue Funktionalität können Sie direkt testen: Ändern Sie die Testdatei test.cs so, dass diese einen Fehler enthält. Sie könnten zum Beispiel einfach den Buchstaben „x“ vor das Wort Console stellen. Danach rufen Sie das Ganze wie zuvor auf: css test.cs. Sie erhalten nun die Compiler-Fehlermeldung angezeigt. Damit ist schon viel geholfen, denn Sie können nun zumindest schon einmal sehen, dass das Programm überhaupt etwas Sinnvolles tut.