92 Beitrag/Beiträge
Freitag, 09. Januar 2026
Ein kleines Werkzeug, das Logdateien durchsucht, braucht bei mir zwei Zehntelsekunden für die Arbeit und eine halbe für den Start der Laufzeit. Bei einem Aufruf ist das egal, in einer Schleife über zweihundert Dateien nicht mehr.
Weiterlesen...Montag, 05. Januar 2026
Bisher musste man jedes global installierte Werkzeug einzeln aktualisieren. Seit .NET 10:
Weiterlesen...Samstag, 27. Dezember 2025
Ein _logger.LogInformation("Kunde {Id} geladen", id) boxt den Parameter und formatiert die Zeichenkette, selbst wenn die Stufe gar nicht aktiv ist.
Weiterlesen...Dienstag, 09. Dezember 2025
Der InMemory-Provider von EF Core ist keine Datenbank. Er kennt keine Fremdschlüssel, keine Eindeutigkeit und kein SQL, weshalb Tests grün sind und die Anwendung trotzdem kracht.
Weiterlesen...Samstag, 06. Dezember 2025
Ein API-Schlüssel in der appsettings.Development.json landet früher oder später im Repository. Dagegen gibt es ein Bordmittel:
Weiterlesen...Freitag, 21. November 2025
JsonSerializer.Serialize arbeitet standardmäßig über Reflection. Das kostet beim ersten Aufruf Zeit und funktioniert unter Native AOT gar nicht.
Weiterlesen...Mittwoch, 19. November 2025
Jedes Team hat diese Diskussion einmal geführt, manche jedes halbe Jahr erneut. Tabs oder Leerzeichen, var oder ausgeschriebener Typ, geschweifte Klammer in dieselbe Zeile oder darunter. Am Ende entscheidet nicht das bessere Argument, sondern wer zuletzt gespeichert hat.
Weiterlesen...Donnerstag, 13. November 2025
Seit .NET 8 prüft dotnet restore beiläufig auf bekannte Sicherheitslücken. Standardmäßig aber nur bei direkten Abhängigkeiten, und genau dort liegt das Problem selten.
Weiterlesen...Dienstag, 11. November 2025
Seit heute ist .NET 10 verfügbar, und zwar als LTS-Version mit drei Jahren Support. Das ist die Nummer, die zählt, wenn man entscheiden muss, worauf ein Projekt für die nächste Zeit stehen soll.
Weiterlesen...Montag, 03. November 2025
Kleine Hilfsskripte in C# scheiterten bisher daran, dass man ein Projekt anlegen musste. Seit .NET 10 nicht mehr:
Weiterlesen...