Erstellen über die Befehlszeile mit csc.exe

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

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 im Menü Start zugreifen, indem Sie den Ordner Microsoft Visual Studio Version\ der Visual Studio Tools öffnen.In Windows 8 wird die Visual Studio-Eingabeaufforderung Developer-Eingabeaufforderung für VS2012 aufgerufen, und Sie können es suchen, indem Sie von Anfang an Bildschirm suchen.

Wenn Sie ein Standardeingabeaufforderungsfenster verwenden, müssen Sie die Pfadangabe anpassen, bevor Sie CSC.EXE aus jedem Unterverzeichnis auf dem Computer aufrufen können.Sie müssen vsvars32.bat ausführen, um die entsprechenden Umgebungsvariablen festzulegen, um Befehlszeilenbuilds zu unterstützen.Weitere Informationen zu VSVARS32.BAT, einschließlich Anweisungen, wie und führen Sie sie, finden Gewusst wie: Festlegen von Umgebungsvariablen suchen.

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

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 normalerweise im Ordner Microsoft.NET\Framework\Version unter dem Windows-Verzeichnis.Der Speicherort kann variieren je nach Konfiguration eines bestimmten Computers.Wenn mehr als eine Version von .NET Framework auf dem Computer installiert wurde, suchen Sie mehrere Versionen dieser Datei.Weitere Informationen zu dieser Art von Installation finden Sie unter Bestimmen der installierten .NET Framework-Version.

TippTipp

Wenn Sie ein Projekt erstellen, indem Sie die Visual Studio-IDE verwenden, können Sie den Befehl csc und die zugeordneten Compileroptionen Ausgabe im Fenster anzeigen.Um diese Informationen anzuzeigen, befolgen Sie die Anweisungen in Gewusst wie: Anzeigen, Speichern und Konfigurieren von Buildprotokolldateien den Ausführlichkeitsgrad der Journaldaten zu Normal oder zu Detailliert zu ändern.Nachdem Sie das Projekt neu erstellen, suchen Sie das Fenster Ausgabe, sodass csc den Aufruf des C#-Compilers sucht.

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

Es gibt keine Dateien des (.obj), die aufgrund Aufruf des C#-Compilers erstellt werden; Ausgabedateien direkt erstellt werden.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