Die .Net-CLR als Makro-Baukasten
CompilerResults auswerten
CompileAssemblyFromFile()
liefert als Resultat eine Instanz von Typ CompilerResults
. Diese Instanz hat etliche Eigenschaften. Die zunächst interessanteste ist die Eigenschaft Errors
. Dabei handelt es sich um eine Collection aus Objekten vom Typ CompilerError
. Treten beim Übersetzen Fehler auf, wird für jeden ein CompilerError-Objekt in der CompilerErrorCollection Errors
angelegt. Mit anderen Worten: Ist Errors.Count
ungleich 0, dann hat das Übersetzen nicht funktioniert, und Sie müssen eine Fehlermeldung anzeigen.
Das Anzeigen der Fehler ist zum Glück recht einfach, denn eine CompilerError-Instanz enthält neben der Zeile und Spalte, in der der Fehler aufgetreten ist, auch einen passenden Fehlertext. Sie können also einfach über alle Compiler-Fehler iterieren und sie dabei ausgeben.