Microsoft plant eine grundlegende Veränderung in der Art und Weise, wie C#-Projekte entwickelt und ausgeführt werden. In Zukunft wird es möglich sein, C#-Code ganz ohne die klassische csproj-Projektdatei zu schreiben und direkt auszuführen – ähnlich wie man es von Python- oder Node.js-Skripten kennt.
Direkter Einstieg ohne Projektstruktur
Statt wie bisher ein neues Projekt mit mehreren Dateien und einer csproj-Konfiguration anzulegen, reicht es künftig, einfach eine einzelne .cs
-Datei zu erstellen – beispielsweise app.cs
. Mit dem Befehl dotnet run app.cs
kann diese Datei direkt ausgeführt werden. Es ist keine Projekt- oder Solution-Datei mehr nötig, und das funktioniert sowohl unter Windows, macOS als auch Linux.
Auch die Einbindung von NuGet-Paketen wird deutlich vereinfacht. Über spezielle Direktiven am Anfang der Datei (z.B. #r "nuget:Humanizer,2.*"
) können Abhängigkeiten direkt im Code definiert werden. Ebenso lässt sich das gewünschte SDK per Direktive angeben, etwa für Web-APIs: #r "sdk:Microsoft.NET.Sdk.Web"
. Nach dem ersten Ausführen werden die Pakete automatisch heruntergeladen und stehen sofort zur Verfügung.
Hier ein einfaches Beispiel, wie ein C#-Skript ohne csproj aussehen kann:
#r "nuget:Humanizer,2.*"
using System;
using Humanizer;
int zahl = 1234567;
// Gibt "one million two hundred thirty-four thousand five hundred sixty-seven" aus
Console.WriteLine(zahl.ToWords());
Speichere den Code einfach als app.cs
und führe ihn mit folgendem Befehl aus:
dotnet run app.cs
Sollte aus dem einfachen Skript später doch ein größeres Projekt werden, kann mit einem einzigen Befehl (
dotnet project convert app.cs
) daraus automatisch ein vollständiges csproj-Projekt generiert werden. Alle Abhängigkeiten und Einstellungen werden übernommen, sodass der Übergang nahtlos funktioniert.
Warum dieser Schritt?
Microsoft möchte mit diesem Ansatz die Einstiegshürden für C# deutlich senken. Während Sprachen wie Python oder JavaScript durch ihre Einfachheit und den schnellen Einstieg sehr beliebt sind, galt C# bisher oft als schwerfällig und komplex für Neulinge. Die neue Möglichkeit, ohne csproj und mit minimalem Setup zu starten, macht C# attraktiver für Einsteiger und Gelegenheitsentwickler.
Microsoft ist sich bewusst, dass C# ein Adoptionsproblem hat. Der neue Ansatz soll die Entwicklungserfahrung so einfach und attraktiv machen wie bei anderen modernen Sprachen.
C# wird in Zukunft mit .NET 10 deutlich einfacher zu bedienen sein: Kein kompliziertes Setup, keine Projektdateien, sondern direkt loslegen – und bei Bedarf jederzeit in ein vollständiges Projekt umwandeln. Damit macht Microsoft einen großen Schritt in Richtung Zugänglichkeit und Modernität für die .NET-Plattform.