Kapitel 34 Die Befehlszeile
In diesem Kapitel werden die Befehlszeilenoptionen beschrieben, die an den Compiler übergeben
werden können. Optionen, die abgekürzt werden können,
werden mit der abgekürzten Version in Klammern dargestellt ([]).
Die Optionen /out und /target
können in einer einzelnen Kompilierung mehrfach eingsetzt werden
und gelten nur für die Quelldateien, die der Option folgen.
34.1 Einfache Verwendung
 
In der einfachen Verwendung können die folgenden
Befehlszeilenoptionen eingesetzt werden:
csc test.cs
Mit dieser Option wird die Datei test.cs
kompiliert und es wird eine Konsolenassemblierung (.exe) erzeugt, die ausgeführt werden kann.
In einer Befehlszeile können mehrere Dateien mit Platzhalterzeichen
angegeben werden.
34.2 Antwortdateien
 
Der C#-Compiler unterstützt Antwortdateien
mit Befehlszeilenoptionen. Diese sind äußerst nützlich,
wenn viele Dateien kompiliert werden oder komplexe Optionen erforderlich
sind.
Eine Antwortdatei wird durch eine einfache Auflistung
in der Befehlszeile angegeben:
csc @<responsefile>
In einer einzelnen Befehlszeile können mehrere
Antwortdateien verwendet oder mit Optionen kombiniert werden.
34.3 Befehlszeilenoptionen
 
In der folgenden Tabelle werden die Befehlszeilenoptionen
für den C#-Compiler aufgeführt. Die meisten dieser Optionen können
auch innerhalb der Visual Studio-IDE gesetzt werden.
Tabelle 34.1 Fehlerberichtsoptionen
Befehl
|
Beschreibung
|
/warnaserror[+|-]
|
Warnungen als Fehler behandeln. Wenn diese Option
aktiviert ist, gibt der Compiler selbst dann einen Fehlercode zurück,
wenn während der Kompilierung nur Warnungen auftreten.
|
/w[arn]:<Stufe>
|
Setzen der Warnstufe (0-4).
|
/nowarn:<Liste>
|
Angeben einer Liste mit Kommatrennzeichen, die nicht
zu protokollierende Warnungen enthält.
|
/fullpaths
|
Angeben des vollständigen Dateipfades in Kompilierungsfehlern
oder Warnungen.
|
Tabelle 34.2 Eingabeoptionen
Befehl
|
Beschreibung
|
/addmodule:<Datei>
|
Angeben der Module, die Bestandteil dieser Assemblierung
sind.
|
/codepage:<ID>
|
Verwenden der angegebenen Codeseiten-ID zum Öffnen
der Quelldateien.
|
/nostdlib[+|-]
|
Kein Import der Standardbibliothek (mscorlib.dll).
Diese Option kann zum Wechseln zu einer anderen Standardbibliothek für
ein bestimmtes Zielgerät verwendet werden.
|
/recurse:<Dateispez>
|
Durchsuchen von Unterverzeichnissen der zu kompilierenden
Dateien.
|
/r[eference]:<Datei>
|
Angeben einer zu importierenden Metadatendatei.
|
Tabelle 34.3 Ausgabeoptionen
Befehl
|
Beschreibung
|
/o[ptimize] [+|-]
|
Aktivieren der Optimierung.
|
/out:<Ausgabedatei>
|
Festlegen des Ausgabedateinamens.
|
/t[arget]:module
|
Erstellen eines Moduls, das einer weiteren Assemblierung
hinzugefügt werden kann.
|
/t[arget]:library
|
Erstellen einer Bibliothek anstelle einer Anwendung.
|
/t[arget]:exe
|
Erstellen einer Konsolenanwendung (Standardeinstellung).
|
/t[arget]:winexe
|
Erstellen einer Windows-GUI-Anwendung (grafische
Benutzerschnittstelle).
|
/nooutput[+|-]
|
Code nur auf Fehler prüfen, keine Ausgabe einer
ausführbaren Datei.
|
/baseaddress:<Adresse>
|
Angeben der Bibliotheksbasisadresse.
|
Tabelle 34.4 Verarbeitungsoptionen
Befehl
|
Beschreibung
|
/debug[+|-]
|
Ausgeben von Debuginformationen.
|
/incr[emental] [+|-]
|
Erstellen eines überprüften Builds.
|
/checked[+|-]
|
Standardmäßig auf Überlauf und Unterlauf
prüfen.
|
/unsafe[+|-]
|
“Unsicheren« Code zulassen.
|
/d[efine]:<Definitionsliste>
|
Definieren bedingter Kompilierungssymbole.
|
/doc:<Datei>
|
Angeben einer Datei zum Speichern von XML-Dokumentationskommentaren.
|
/win32res:<Ressourcendatei>
|
Angeben einer Win32-Ressourcendatei.
|
/win32icon:<Symboldatei>
|
Angeben einer Win32-Symboldatei.
|
/res[ource]:<Datei>[,<Name>[,<MIMEtype]]
|
Einbetten einer Ressource in diese Assemblierung.
|
/linkres[ource] :<Datei>[,<Name>[,<MIMEtype]]
|
Verknüpfen einer Ressource mit dieser Assemblierung,
ohne diese einzubetten.
|
Tabelle 34.5 Verschiedenes
Befehl
|
Beschreibung
|
/? oder /help
|
Anzeigen der Benutzermeldung.
|
/nologo
|
Urheberrechtsbanner für Compiler nicht anzeigen.
|
/bugreport:<Datei>
|
Erstellen einer Berichtdatei.
|
/main:<Klassenname>
|
Angeben der für den Main()-Einsprungpunkt
zu verwendenden Klasse.
|
|