IRONSOFTWAREHOME

C# Scripting und Dateiausführung in .NET 10: Ein tiefer Einblick mit Tim Corey

C# Scripting mit Dateiausführung in .NET 10

Tim Corey

14m 10s

C# war traditionell eine kompilierte Sprache, die ein Projekt, eine Lösung und eine Visual Studio-Einrichtung erforderte, um selbst einfachste Programme auszuführen. Mit .NET 10 haben sich die Dinge jedoch dramatisch verändert. Tim Corey zeigt in seinem Video über C#-Scripting und Dateiausführung, wie Entwickler C# jetzt als Skriptsprache behandeln können, indem sie Skriptdateien direkt ausführen, ohne ein vollständiges Projekt zu erstellen. Diese neue Fähigkeit erlaubt es Programmierern, Skriptcode in einer einzelnen cs-Datei zu schreiben, sie vom Befehlszeilenfenster aus auszuführen und schnell mit neuem Code zu experimentieren.

In diesem Artikel werden wir diese Funktionen im Detail erkunden, indem wir Tims Anleitung folgen, um den Arbeitsablauf, die Verwendung der Befehlszeile und die erweiterten Fähigkeiten der dateibasierten C#-Ausführung zu verstehen.

Introduction to C# Scripting in .NET 10

Tim startet das Video, indem er hervorhebt, dass C#-Scripting in .NET 10 eine einzelne cs-Datei als vollständige Anwendung erlaubt. Im Gegensatz zu herkömmlichen Visual Studio-Projekten sind keine öffentlichen Klassendeklarationen, kein Program.cs oder eine Lösungsdatei erforderlich. Sie können jetzt ein Skript schreiben, es als demo.cs speichern und sofort ausführen.

Dieser Ansatz ähnelt dem Scripting in Python oder JavaScript, bei dem eine einzige Datei Aufgaben ausführen kann, ohne ein Projekt zu erstellen. Tim betont, dass dies mehr als nur Bequemlichkeit ist - es bietet die Möglichkeit, Aufgaben auszuführen, Anweisungen zu testen und schnell mit Objekten oder Daten zu experimentieren.

Erstellen Ihrer ersten Skriptdatei

Tim demonstriert, wie man eine einfache cs-Datei namens FileDemo.cs in Visual Studio Code erstellt. Der folgende Code dient als klassisches "Hello World"-Beispiel:

Console.WriteLine("Hello World");
Text

Das Ausführen der Datei ist so einfach wie das Öffnen des Befehlszeilenfensters und das Ausführen:

dotnet run FileDemo.cs
Text

Die Ausgabe zeigt Hallo Welt sofort an und zeigt, dass selbst die Laufzeitausführung einer einzelnen Datei vollständig unterstützt wird. Tim merkt an, dass dieser Ansatz ideal zum Testen von neuem Code, für kleine Skripte oder für Situationen ist, bei denen der Overhead eines vollständigen Projekts unnötig ist.

Verarbeiten von Befehlszeileneingaben und Argumenten

Tim demonstriert dann die Fähigkeit, Befehlszeilenargumente in einem Skriptcode zu akzeptieren. Durch Ändern des Hello World-Beispiels können Sie einen Wert direkt an die Skriptdatei übergeben:

Console.WriteLine($"Hello {args[0]}");
Text

Wenn Sie .NET run demo.cs Tim ausführen, wird die Ausgabe zu Hello Tim. Tim weist darauf hin, dass das args-Array genau wie in einer traditionellen Konsolenanwendung funktioniert und zeigt, dass dateibasierte Skripte vollständige C#-Anwendungen mit allen Fähigkeiten der Sprache sind.

Vereinfachte Syntax und implizite Usings

Tim erklärt, dass .NET 10 implizite using-Direktiven unterstützt, was bedeutet, dass Sie auf System-Namensräume zugreifen können, ohne ausdrücklich using System; zu schreiben. Dies reduziert die Boilerplate-Syntax und ermöglicht es, dass das erste Objekt oder die Methode in Ihrem Skript sofort ausgeführt werden kann.

Diese Vereinfachung erstreckt sich auf csx-Dateierweiterungen und interaktive Fenster-Workflows in Visual Studio Code, wo Entwickler Skriptcode Zeile für Zeile mit REPL-Fenstern oder dem interaktiven Fenster testen können, ähnlich wie beim Python-Scripting.

Interaktive Benutzereingaben

Als nächstes zeigt Tim, wie man Skripte interaktiv gestalten kann, indem Benutzereingaben gelesen werden:

Console.Write("Wie ist Ihr Name? ");
string name = Console.ReadLine();
Console.WriteLine($"Hallo {name}");
Text

Hierbei ist das erste Interaktionsobjekt der string name, der sofort zugegriffen und angezeigt werden kann. Tim weist darauf hin, dass nullbare Warnungen auftreten können, die jedoch ordnungsgemäß gehandhabt werden können. Diese Fähigkeit, Eingaben zu lesen und Ausgaben anzuzeigen, macht Skriptdateien vielseitig und praktisch für Aufgaben, die über einfachen Demonstrationscode hinausgehen.

Verwendung von NuGet-Paketen in Skripten

Um die Laufzeitfähigkeiten einer Skriptdatei zu erweitern, führt Tim NuGet-Pakete ein. Zum Beispiel können Sie mit Spectre.Console die Ausgabe mit Farbe formatieren:

#r "nuget: Spectre.Console, 0.54.0"
using Spectre.Console;

AnsiConsole.MarkupLine("[red]Hallo Tim[/]");
Text

Tim erklärt, dass das Hinzufügen von Referenzen über NuGet-Pakete im Skriptcode Entwicklern ermöglicht, externe Assemblies ohne ein vollständiges Projekt zu nutzen. Er demonstriert das Ausführen des Skripts und sieht, dass die Konsole den Namen des Benutzers in Rot anzeigt, was zeigt, wie dateibasierte Skripte so mächtig sein können wie vollständige Projekte.

Veröffentlichen von Skripten als ausführbare Dateien

Tim behandelt auch die Erstellung von ausführbaren Dateien aus cs-Dateien. Durch Ausführung von:

dotnet publish Filedemo.cs
Text

können Sie eine DLL oder EXE für Windows, Linux oder Mac erzeugen, was die Skriptdatei portabel macht. Er hebt hervor, dass diese ausführbaren Dateien Native AOT sind, was maximale Laufzeitleistung bietet. Bei Bedarf kann die AOT-Eigenschaft mit einer Eigenschaftsdirektive oben in der Datei deaktiviert werden.

Dies zeigt die Fähigkeit der .NET 10 Skripterstellung, produktionsreife Dateien zu erzeugen, während die Syntax einfach bleibt.

Umwandlung von Skripten in vollständige Projekte

Für komplexere Anwendungen, die mehrere Klassen, Methoden oder Objekte erfordern, zeigt Tim, wie man eine Skriptdatei in ein vollständiges Projekt umwandelt:

dotnet project convert FileDemo.cs
Text

Dieser Befehl erstellt einen neuen Ordner, der eine CS-Projektdatei enthält und die NuGet-Paketreferenzen, Nullable-Einstellungen und implizite Usings beibehält. Der folgende Code aus dem ursprünglichen Skript bleibt erhalten, was die Integration in eine Visual Studio-Lösung oder den Betrieb als eigenständiges Projekt erleichtert.

Wichtige Vorteile der dateibasierten Skripterstellung

Tim hebt mehrere Vorteile der C#-Skripterstellung und Dateiausführung hervor:

  1. Geschwindigkeit – Neues Code sofort aus Skriptdateien ausführen.

  2. Portabilität – Skripte als ausführbare Dateien für Windows, Linux oder macOS veröffentlichen.

  3. Leistungsfähigkeit – Skripte können NuGet-Pakete verwenden, Daten zugreifen und Benutzereingaben verarbeiten.

  4. Flexibilität – cs-Dateien mit minimalem Aufwand zu vollständigen Projekten befördern.

  5. Geringerer Overhead – Keine Notwendigkeit für Lösungs-, Projekt- oder Klassenerklärungen für einfache Aufgaben.

Tim merkt an, dass dateibasierte Skripte nicht für jedes Szenario geeignet sind, aber perfekt für Tests, Demos und schnelle, konsolenbasierte Aufgaben sind.

Abschluss

Tim Coreys Video veranschaulicht, dass C#-Skriptierung in .NET 10 ein mächtiges und flexibles Werkzeug für Entwickler ist. Skriptdateien ermöglichen die sofortige Ausführung von neuem Code, die Handhabung von Benutzereingaben, die Interaktion mit Objekten und die Verwendung von NuGet-Paketen. Skripte können vom Befehlszeilenfenster aus ausgeführt, in Visual Studio Code ausgeführt oder als DLLs oder EXEs für plattformübergreifende Nutzung veröffentlicht werden.

Die Fähigkeit, Skriptcode in ein vollständiges Projekt umzuwandeln, bietet das Beste aus beiden Welten: die Einfachheit einer Skriptdatei mit der Erweiterbarkeit eines herkömmlichen Visual Studio-Projekts. Tim ermutigt Entwickler, Skriptcode frei zu schreiben, zu testen und zu ändern, wodurch die C#-Skriptierung zu einem wertvollen Werkzeug für schnelle Entwicklung und Experimente wird.

Wie Tim zusammenfasst, ist diese Methode ideal für kleine Projekte, Konsolenanwendungen und Datenverarbeitungsaufgaben, da sie einen modernen, effizienten Arbeitsablauf bietet, der die traditionelle C#-Entwicklung ergänzt.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.