Neu in .NET 10.0 [13]: Kompilieren und Starten einzelner C#-Dateien

Seit .NET 10.0 kann man einzelne C#-Dateien direkt übersetzen und starten – ohne dass es eine Projektdatei geben muss.

vorlesen Druckansicht 1 Kommentar lesen
C#

(Bild: Pincasso / Shutterstock.com)

Lesezeit: 1 Min.
Von
  • Dr. Holger Schwichtenberg
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

Für das direkte Übersetzen und Starten von C#-Dateien bietet Microsoft File-based Apps. Voraussetzung ist, dass das .NET Software Development Kit (SDK) Version 10.0 oder höher installiert ist.

Eine Installation der .NET Runtime reicht dafĂĽr nicht!

Der Dotnet-Doktor – Holger Schwichtenberg
Der Dotnet-Doktor – Holger Schwichtenberg

Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

Mit der Neuerung kann C# auch als Skriptsprache zum Einsatz kommen, beispielsweise für Skripte im Rahmen von Entwicklungsprojekten, bei denen man bisher PowerShell oder bash eingesetzt hat. Es gab dafür aber schon vorher Ansätze außerhalb von Microsoft:

Videos by heise

C#-Scripting im .NET 10.0 SDK ist mit dem .NET-SDK-CLI-Befehl dotnet run möglich:

dotnet run .\Dateiname.cs

Alternativ ist die direkte Ausführung einer C#-Datei auch ohne Angabe des Wortes run möglich:

dotnet .\Dateiname.cs

Start einer eigenständigen C#-Datei mit dotnet run im Terminalfenster von Visual Studio Code (Abb. 1)

Für Eingabeunterstützung und Debugging in Visual Studio Code für File-based Apps sollte man das passende Häkchen in den Editor-Einstellungen setzen (Abb. 2).

(rme)