Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie Aufwendig ist die Umstellung von .NET 4.7 zu .NET 5.0
Christoph K.
myCSharp.de - Member

Avatar #avatar-3248.png


Dabei seit:
Beiträge: 800
Herkunft: Köln

Themenstarter:

Wie Aufwendig ist die Umstellung von .NET 4.7 zu .NET 5.0

beantworten | zitieren | melden

Hallo zusammen,

wir überlegen gerade aus verschiedenen Gründen von .net 4.7 (das alte .net Framework) auf das neue universelle .net 5.0 zu migrieren.
Hat jemand Erfahrungen, wie aufwendig so etwas ist?
Ein Teil des Projektes ist ein ASP.net MVC 3.0 Projekt. Ist eine einfache Migration hier überhaupt machbar?

Viele Grüße
Christoph
private Nachricht | Beiträge des Benutzers
Wilfried
myCSharp.de - Member

Avatar #2TnJ7IKlYXgOor5sZSIA.jpg


Dabei seit:
Beiträge: 129
Herkunft: Radeberg

beantworten | zitieren | melden

warum nicht gleich auf .NET 6?
- Wer lesen kann, ist klar im Vorteil
- Meistens sitzt der Fehler vorm Monitor
- "Geht nicht" ist keine Fehlermeldung!

GidF
private Nachricht | Beiträge des Benutzers
JimStark
myCSharp.de - Member

Avatar #dOpLzh7hN1az1g0eGRc0.jpg


Dabei seit:
Beiträge: 303

beantworten | zitieren | melden

Kommt auf das Projekt an,
hier ist eigentlich alles beschrieben: https://docs.microsoft.com/de-de/dotnet/core/porting/
private Nachricht | Beiträge des Benutzers
Palladin007
myCSharp.de - Member

Avatar #avatar-4140.png


Dabei seit:
Beiträge: 1.762
Herkunft: Düsseldorf

beantworten | zitieren | melden

Zitat von Christoph K.
Ein Teil des Projektes ist ein ASP.net MVC 3.0 Projekt. Ist eine einfache Migration hier überhaupt machbar?

Nein - zumindest nicht einfach.

Ich hab's mal geschafft, das alte ASP.NET unter .NET Core 3 ans Laufen zu bringen, aber einfach ist das nicht und langfristig klug ganz sicher auch nicht ^^
Auch eine Neuentwicklung unter ASP.NET Core ist nicht "mal eben so" machbar, mit genügend KnowHow zu beiden Frameworks, dem Projekt und einer halbwegs vernünftige Architektur ist das aber überschaubar.

Der Artikel zur Migration zu ASP.NET Core geht (beim rüber scrollen) hauptsächlich nur auf die Unterschiede auf die Frameworks ein. Das ist sicher nützlich, ich würde das Projekt aber vorher vorbereiten, die ASP.NET Core Umstellung ist dann nur der letzte Schritt.

Schau dir an, wie ASP.NET Core arbeitet und wie man die Geschäftslogik aus den Controllern raus hält, sodass die dann eigentlich nur noch Endpunkte sind.
Abt hat zu der Architektur von diesem Forum einiges geschrieben: [Artikel] Die myCSharp.de Software Architektur
Ob das bei Euch auch angebracht oder Overkill ist, weiß ich nicht, aber aber ich will darauf hinaus, dass Controller und Logik nichts miteinander zu tun haben. Der Controller sollte seine Abhängigkeiten per DependencyInjection bekommen und die Abhängigkeit sollte nichts von ASP.NET benötigen.

Das gemacht kannst Du den ausgelagerten Code auf .NET Standard 2.0 umstellen, das wird in .NET 4.7 und .NET 6 unterstützt.
Ich habe das bisher manuell gemacht, aber dafür gibt's meines Wissens nach auch ein Tool von Microsoft.
Eventuell habt Ihr Abhängigkeiten die es nicht für .NET Standard 2.0 gibt, da müsst Ihr dann natürlich Alternativen suchen.

Als nächstes schau dir die "Microsoft.Extensions.***"-Frameworks an, die werden in ASP.NET Core genutzt und sind (wenn ich mich nicht irre) alle .NET Standard 2.0.
Außerdem können diese Frameworks (Logging, DependencyInjection, Configuration) als Abstraktion dienen und viele altbekannte Frameworks aus der Community unterstützen das.
Das Hosting-Framework lässt Du aus, das ist eine Start-Infrastruktur, die wirst Du so ohne Weiteres nicht umstellen können - nicht solange ASP.NET noch an Board ist.
Wenn alles darauf aufbaut, kann ASP.NET Core direkt damit umgehen.

Es bleibt noch das ASP.NET-Projekt (es sollte an dem Punkt nur noch ein Projekt sein) und das müsst Ihr neu entwickeln, doch mit den Vorbereitungen sollte das überschaubar sein.
Und von .NET Standard 2.0 zu .NET 6 ist es dann nur noch ein Katzensprung, ggf. einige Packages aktualisieren.

Danach könnt Ihr dann Stück für Stück ältere, wenn auch noch unterstützte, Frameworks ersetzen, ich denke da z.B. an Newtonsoft.Json vs. System.Text.Json.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Palladin007 am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.757

beantworten | zitieren | melden

ASP.NET MVC zu ASP.NET Core ist nicht so einfach möglich; das ist quasi wie ein Framework-Wechsel mit entsprechender Lernkurve.
Der gesamte Aufbau ist neu; ausser dem Namen haben die beiden Varianten nicht mehr viel gemeinsam.

Wenn man sich aber an die Grundregeln von Software Architektur gehalten hat, und keinerlei Logik in den Controllern hat, dann ist das möglich.
Machbar ist es immer - alles eine Frage der Zeit. Aber "einfach?" kann Dir natürlich kein Mensch beantworten - alles relativ.
private Nachricht | Beiträge des Benutzers
jogibear9988
myCSharp.de - Member



Dabei seit:
Beiträge: 623
Herkunft: Offenau

Kommt drauf an

beantworten | zitieren | melden

Das kommt eben ganz auf die Applikation an, wieviele externe Abhängigkeiten du hast, usw.

Wir haben bei uns in der Firma eine große .NET Applikation (WMS und Visu) mit Webserver, Appdomains, verschiedenen Services, ...

Bei uns hat die Umstellung ca 4-5 Mannmonate gedauert. Die meiste Arbeit war die Entfernung der Appdomains
cSharp Projekte : https://github.com/jogibear9988
private Nachricht | Beiträge des Benutzers