Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

.NET Runtime auf der Basis von .NET Core

.NET-Anwendungen benötigen eine Laufzeitumgebung. Diese ist ganz beziehungsweise zu großen Teilen in C++ geschrieben. Wie wäre es, wenn die Runtime mit C# verfasst würde. Geht das überhaupt?
Eine .NET-Anwendung ist "nur" ein Stück CIL-Bytecode (Common Intermediate Language), das von der .NET-Laufzeit ausgeführt wird. Und die .NET-Runtime ist "nur" ein Programm, das in der Lage ist, diese Aufgabe auszuführen. .NET Framework/.NET Core-Laufzeitprogramme sind häufig in C++ geschrieben. Daneben gibt es Laufzeitumgebungen, bei denen viele Teile in C# umgeschrieben wurden – etwa das Typsystem – entscheidende Teile, wie etwa JIT-Compiler und Garbage Collection blieben jedoch stets in C++. Konrad Kokosa – mehr über ihn erfahren Sie am Ende dieses Textes – versucht die .NET-Laufzeitumgebung komplett als .NET-Anwendung zu schreiben. Ohne jeden C+++-Code. Alles soll als .NET-Core-Anwendung, die in C# geschrieben ist. Das hört sich nach einer Art unendlicher Rekursion an. Es müsste eine .NET-Laufzeitumgebung über einer anderen .NET-Laufzeitumgebung ausgeführt werden und die wiederum ... Kokosa hat seine Idee Mobius-Laufzeitumgebung genannt, nach dem Möbiusband, einem Band, das nur eine Kante und eine Seite hat. Man kann nicht unterscheiden zwischen unten und oben oder außen und innen.Die Idee ist da, zugleich bekennt Kokosa, dass er nicht erwartet, dass sein Projekt noch im laufenden Jahrhundert auch nur annähernd produktionsreif sein wird. Er sagt, er sei sich der Menge an Code bewusst, die geschrieben werden muss, um eine vollständige .NET-Laufzeit zu entwickeln. Zugleich findet er es jedoch interessant, eine solche Idee zu validieren, und findet sie auch für kleinere Anwendungen geeignet. Als Beispiel nennt er ein NuGet-Paket mit einer separaten Laufzeit, die man zu seiner Anwendung hinzufügen könnte.Konrad Kokosa stellt sein Projekt auf dieser Seite ausführlich vor. Sein Ziel ist wie bereits gesagt, nicht das Vollenden des Projekts, sondern ein Spielzeug, anhand dessen man Spaß haben und eine Menge über die .NET-Laufzeitumgebung lernen kann. Seine Ergebnisse will Kokosa übrigens komplett als Open Source veröffentlichen. Aktuell arbeitet er an einem Proof of Concept, das schlicht eine Addition von zwei Integer-Werten ausführen soll.

Über den Autor

Konrad Kokosa ist Autor des Buches Pro.NET Memory Management. Er programmiert seit mehr als einem Dutzend Jahren, arbeitet an Lösung von Leistungsproblemen und Architekturrätseln in der .NET-Welt sowie an der Beschleunigung von Webanwendungen. Außerdem ist er unabhängiger Berater, Blogger, Sprecher und Fan von Twitter. Er teilt auch seine Leidenschaft als Ausbilder im Bereich .NET, insbesondere über Anwendungsleistung und -diagnose und ist Microsoft MVP in der Kategorie Visual Studio und Entwicklungstools.
Miscellaneous

Neueste Beiträge

00:00
MCP: Der USB-C-Stecker für Deine KI-App - Model Context Protocol auf der DWX
Jonah Andersson bringt es auf den Punkt: Das Model Context Protocol ist kein Hype-Buzzword, sondern eine echte Hilfe für .NET-Entwickler:innen. Wer MCP richtig einsetzt, spart sich aufwändige Integrationsarbeit – und behält trotzdem die Kontrolle über die eigene Business-Logik.
7. Apr 2026
SQLite: Wenn weniger mehr ist - SQLite für .NET-Entwickler, Teil 1
Für Entwicklerteams, die jeden Tag mit der Komplexität von Kubernetes, Cloud-Datenbanken und Terraform-Skripten ringen, liegt der eigentliche Gewinn von SQLite in der architektonischen Vereinfachung.
6 Minuten
Infinite AI Conference: So setzt Du KI in jedem Schritt des Software-Lifecycle ein - KI gehört in Deinen Workflow
Von den Anforderungen über Design, Implementierung bis zum Testen, Deployment und Monitoring: Auf der Infinite AI Conference 2026 erfährst Du, wie Dich die KI im gesamten Lifecycle unterstützen kann.
4 Minuten

Das könnte Dich auch interessieren

Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
SignalRC baut auf DRY - Der DDC-Truck, Teil 8
DRY ist eines dieser Prinzipien, die jeder für selbstverständlich hält, die aber trotzdem oft nicht konsequent umgesetzt werden. In SignalRC ist das Shared-Projekt von Beginn an dabei.
11 Minuten
12. Mär 2026
Middleware, Datenbank und Testing im Alltag - Nest.js für .NET-Entwickler, Teil 4
Nest.js in der Praxis: Die Bausteine, die eine Nest.js-Anwendung produktionsreif machen.
6 Minuten
11. Mär 2026
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige