Erstellen über die Befehlszeile mit csc.exe

Sie können den C#-Compiler aufrufen, indem Sie den Namen seiner ausführbaren Datei (CSC.EXE) an der Befehlszeile eingeben.

Wenn Sie das Fenster Visual Studio-Eingabeaufforderung verwenden, werden alle erforderlichen Umgebungsvariablen für Sie festgelegt. In Windows 7 können Sie auf dieses Fenster über das Menü Start zugreifen, indem Sie den Ordner Microsoft Visual Studio Version\Visual Studio-Tools öffnen. In Windows 8 wird die Visual Studio-Eingabeaufforderung als Developer-Eingabeaufforderung für VS2012 bezeichnet. Sie finden sie über die Suche im Startmenü.

Wenn Sie ein standardmäßiges Eingabeaufforderungsfenster verwenden, müssen Sie die Pfadangabe anpassen, bevor Sie CSC.EXE aus einem Unterverzeichnis auf dem Computer aufrufen können. Außerdem müssen Sie "vsvars32.bat" ausführen, um die entsprechenden Umgebungsvariablen zur Unterstützung von Befehlszeilenbuilds festzulegen. Weitere Informationen zu "vsvars32.bat", einschließlich Anweisungen zum Finden und Ausführen, finden Sie unter Gewusst wie: Festlegen von Umgebungsvariablen für die Visual Studio-Befehlszeile.

Wenn Sie auf einem Computer arbeiten, auf dem nur das Windows Software Development Kit (SDK) installiert ist, können Sie den C#-Compiler von der SDK-Eingabeaufforderung aus verwenden. Diese öffnen Sie über die Menüoption Microsoft .NET Framework SDK.

Sie können auch MSBuild verwenden, um C#-Programme programmgesteuert zu erstellen. Weitere Informationen finden Sie unter MSBuild.

Die ausführbare Datei CSC.EXE befindet sich in der Regel im Windows-Verzeichnis im Ordner Microsoft.NET\Framework\Version. Der Speicherort unterscheidet sich je nach Konfiguration auf den einzelnen Computern. Wenn mehr als eine Version von .NET Framework auf dem Computer installiert ist, werden Sie mehrere Versionen dieser Datei finden. Weitere Informationen zu dieser Art von Installation finden Sie unter Bestimmen der installierten .NET Framework-Version.

Tipp

Wenn Sie ein Projekt mit der Visual Studio-IDE erstellen, können Sie den Befehl csc und seine zugeordneten Compileroptionen im Fenster Ausgabe anzeigen.Um diese Informationen anzuzeigen, befolgen Sie die Anweisungen in Gewusst wie: Anzeigen, Speichern und Konfigurieren von Buildprotokolldateien, in denen erläutert wird, wie der Ausführlichkeitsgrad der Protokolldaten in Normal oder Detailliert geändert wird.Nachdem Sie das Projekt neu erstellt haben, durchsuchen Sie das Fenster Ausgabe nach csc nach, um den Aufruf des C#-Compilers zu finden.

In diesem Thema

  • Regeln für die Syntax der Befehlszeile

  • Beispielbefehlszeilen

  • Unterschiede zwischen der C#-Compiler- und der C++-Compiler-Ausgabe

Regeln für Befehlszeilensyntax für den C#-Compiler

Beim Interpretieren von Argumenten, die in der Befehlszeile des Betriebssystems angegeben werden, verwendet der C#-Compiler die folgenden Regeln:

  • Argumente werden durch einen Leerraum (Leerzeichen oder Tabstopp) abgegrenzt.

  • Die Einfügemarke (^) wird nicht als Escape- oder Trennzeichen erkannt. Das Zeichen wird vom Befehlszeilenparser im Betriebssystem verarbeitet, bevor es an das argv-Array im Programm übergeben wird.

  • Eine in Anführungszeichen eingeschlossene Zeichenfolge ("Zeichenfolge") wird als einzelnes Argument interpretiert, auch wenn darin Leerräume enthalten sind. Eine Zeichenfolge in Anführungszeichen kann in ein Argument eingebettet sein.

  • Wenn dem Anführungszeichen ein umgekehrter Schrägstrich (\") vorangestellt wird, wird diese Zeichenfolge als literales Anführungszeichen (") interpretiert.

  • Ein umgekehrter Schrägstrich wird als solcher interpretiert, sofern er nicht unmittelbar vor einem Anführungszeichen steht.

  • Wenn ein doppeltes Anführungszeichen auf eine gerade Anzahl umgekehrter Schrägstriche folgt, wird für jedes Paar umgekehrter Schrägstriche ein umgekehrter Schrägstrich im argv-Array platziert. Das Anführungszeichen wird als Zeichenfolgentrennzeichen interpretiert.

  • Wenn ein doppeltes Anführungszeichen auf eine ungerade Anzahl umgekehrter Schrägstriche folgt, wird für jedes Paar umgekehrter Schrägstriche ein umgekehrter Schrägstrich im argv-Array platziert. Das Anführungszeichen wird durch den übrig gebliebenen umgekehrten Schrägstrich maskiert. Hierdurch wird dem argv-Array ein echtes Anführungszeichen hinzugefügt.

Beispielbefehlszeilen für den C#-Compiler

  • Kompiliert File.cs, sodass File.exe entsteht:

    csc File.cs 
    
  • Kompiliert File.cs, sodass File.dll entsteht:

    csc /target:library File.cs
    
  • Kompiliert File.cs und erstellt My.exe:

    csc /out:My.exe File.cs
    
  • Kompiliert alle C#-Dateien im aktuellen Verzeichnis mit aktivierten Optimierungen und definiert das DEBUG-Symbol. Die Ausgabe lautet File2.exe:

    csc /define:DEBUG /optimize /out:File2.exe *.cs
    
  • Kompiliert alle C#-Dateien im aktuellen Verzeichnis, wodurch eine Debugversion von File2.dll erstellt wird. Es werden weder Logo noch Warnungen angezeigt:

    csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
    
  • Kompiliert alle C#-Dateien im aktuellen Verzeichnis zu Something.xyz (einer DLL-Datei):

    csc /target:library /out:Something.xyz *.cs
    

Unterschiede zwischen der C#-Compiler- und der C++-Compiler-Ausgabe

Durch den Aufruf des C#-Compilers werden keine Objektdateien (OBJ-Dateien) erstellt, stattdessen werden die Ausgabedateien direkt erstellt. Daher benötigt der C#-Compiler keinen Linker.

Siehe auch

Aufgaben

Gewusst wie: Anzeigen von Befehlszeilenargumenten (C#-Programmierhandbuch)

Gewusst wie: Zugreifen auf Befehlszeilenargumente mithilfe von foreach (C#-Programmierhandbuch)

Referenz

C#-Compileroptionen alphabetisch sortiert

C#-Compileroptionen nach Kategorien sortiert

Befehlszeilenargumente (C#-Programmierhandbuch)

Main()-Rückgabewerte (C#-Programmierhandbuch)

Konzepte

Main() und Befehlszeilenargumente (C#-Programmierhandbuch)

Weitere Ressourcen

C#-Compileroptionen