CD-Manager .NET Core

Ein Projekt, dass ich schon mehrfach angefangen habe: Meinen CD-Manager nach .NET Core portieren. Doch wie das mit so ganz alten Projekten so ist. Einfach Rechtsklick und .NET Version ändern ist da nicht drinnen. Naja. Vielleicht auch mal die Gelegenheit da mal ein paar alte Sachen raus zu werfen.

Doch warum mache ich das eigentlich? Never touch a running system heißt es doch, dachte ich? Ja, das stimmt natürlich. Und auch wenn ich an dem CD-Manager in den letzten acht Jahren (!) nur minimale Anpassungen vorgenommen habe, ist es doch immer wieder ärgerlich, wenn man dann z.B. aktuelle .NET Sprachfeatures nicht verwenden kann. Zudem soll mich ja der CD-Manager auch noch ein paar Jahre begleiten und da schien mir eine Portierung nach .NET Core erst mal sinnvoll.

Sobald ich mal die Grundfunktionen portiert habe werde ich auch nochmal schauen, ob ich nicht die CD-Cover etwas größer einbinde. Was aber im Umkehrschluss auch heißt ich muss für fast 4000 CDs die Cover neu hinzufügen. Wie man das machen will, sollte dann schon wohl überlegt sein. Vielleicht speichere ich die dann auch gleich in zwei Größen ab. Ein ‚Original‘ und eine kleine Variante zur Anzeige. Gerade für’s Web möchte ich eigentlich keine riesige Datenbank mit CD-Covern pflegen müssen.

Aktueller Stand

Was ich bisher schon portiert habe, auch wenn hier und da noch eine Warnung aufploppt, ist die das öffnen und durchblättern der CDs in der bisherigen Variante inkl. der Standard Funktionen auf der Hauptseite, so wie das praktische ‚GoTo‘ Feld.

Im Hintergrund habe ich für die Datenbankzugriffe Dapper hinzugefügt und die aktuellsten SQLite Bibliotheken für .NET Core. Zudem habe ich die Methoden zum Teil nochmal Grundlegend überarbeitet. Man lernt ja auch doch immer noch was neues.

Ich denke ich werden den Code dann am Ende auch in ein privates GitHub Repo packen, damit ich da auch endlich mal eine Versionskontrolle habe. Durch den Betriebssystem und vor allem den Festplattenwechsel, wo ich mal fleißig ‚aufgeräumt‘ habe, musste ich jetzt feststellen, dass einige Projekte nicht mehr kompilieren, weil da irgendwo allgemeine Bibliotheken abgelegt waren, auf die ich von vielen Projekte aus verwiesen habe. Doch das Problem sollte bei der Portierung durch NuGet auch erst mal aus der Welt geschafft sein.

Fazit

Ich weiß nicht wie lange ich an der vorhandenen Code-Basis von dieser CD-Manager Version schon arbeite. Ich denke 15 Jahre könnten da schon hin kommen. Da kann man dann schon mal überlegen ob man nicht mal das ganze auf eine aktuelle Plattform bringt.

Aktuell: .NET Core 9, Dapper, SQLIte