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
.Net Framework Kompatibilität
Jonas007
myCSharp.de - Member



Dabei seit:
Beiträge: 33
Herkunft: Österreich

Themenstarter:

.Net Framework Kompatibilität

beantworten | zitieren | melden

Hallo liebe Community,
(leider) eine etwas blöde Frage, aber ich habe bereits viel zu lange die Microsoft-Documentations durchgelesen aber ich kann nichts damit anfangen.

Ich habe folgende Warnung: "Für das Projekt "{Projektname}" ist die Zielversion netcoreapp3.1 festgelegt. Eine Referenzierung durch ein Projekt mit der Zielversion .NETFramework,Version=v4.7.2 ist nicht möglich."
Ich habe eine Klassenbibliothek und eine Windows-Forms Anwendung, jedoch kann ich die Libary aufgrund dieser Fehlermeldung nicht einbinden. Ich kann in der Klassenbibliothek beim Zielframework nur .Net Core 1.0 - .Net Core 3.1 auswählen und in der Forms-Anwendung .Net-Framework 2.0 - .Net-Framework 4.8 auswählen. Was muss ich in den beiden Projekten einstellen, damit sie miteinander kompatibel sind?

Entschuldigt die vermutlich einfach zu beantwortende Frage aber ich bin was das betrifft absoluter Anfänger und weiß eigentlich nicht mal genau was es mit den Frameworks auf sich hat -_-

LG Jonas
private Nachricht | Beiträge des Benutzers
Palladin007
myCSharp.de - Member

Avatar #avatar-4140.png


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

beantworten | zitieren | melden

Das geht nicht, steht doch in der Meldung: "ist nicht möglich"

Entweder Du gehst mit der Version runter (was bescheuert wäre) oder Du ziehst die Version hoch. Für Letzteres gibt's Doku zum migrieren.

Oder Du verwendest .NET Standard 2.0 anstelle von .NET 4.7.1, das kannst Du dann sowohl in .NET 4.7.1 als auch .NET Core 3.1 einbinden. Wie gut das mit WinForms funktioniert, weiß ich aber nicht.
Und bedenke, dass .NET Standard nicht mehr weiterentwickelt wird, das sollte man nur noch nutzen, wenn man die Kompatibilität für alte Frameworks braucht.

Besser wäre, Du nutzt überall .NET Core oder Neuer - sofern möglich.
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4188

beantworten | zitieren | melden

Hallo Jonas,

verwendest du VS 2019? Dann solltest du beide Projekte auf .NET 5 migireren (s.a. die Antwort von Abt in Wie erzwinge ich C# Version 8).
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16204

beantworten | zitieren | melden

.NET Framework und .NET Core sind beides Runtimes. .NET Core ist dabei der Nachfolger des .NET Framework, das ab Version 5 auch nur noch ".NET 5" heisst damit allen klar ist: das ist die Zukunft und der Nachfolger für .NET 4.8 und .NET Core 3.1.
.NET Standard ist eine Art Vertrag, um Code in beiden Welten zu verwenden.
Die jeweilige Unterstützung der Versionen siehst Du in folgender Tabelle: .NET-Standard

Nun sind wir in dem Zeitfenster, dass .NET Framework offiziell abgekündigt ist und nur noch in .NET 5 und höher investiert wird.
Das bedeutet zeitgleich, dass .NET Standard 2.1 auch die letzte Vertragsversion sein wird und wir ab sofort nur noch von ".NET" sprechen.
Zukunftsbibliotheken werden daher auch nur noch gegen .NET versioniert.

Du kannst aber keine .NET Core Runtime Assemblies in .NET Framework nutzen oder umgekehrt.
Das sind zwei verschiedene Welten. Du musst migrieren.
Beispiel für die Migration zu .NET 5
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Palladin007
myCSharp.de - Member

Avatar #avatar-4140.png


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

beantworten | zitieren | melden

@Abt:
Kennst Du eine gute Übersicht von Microsoft zu diesen Zusammenhängen?
Gerade für Einsteiger kann das ja ziemlich verwirrend sein, da würde eine Übersicht helfen.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16204

beantworten | zitieren | melden

In meinen Schulungen verwende ich da i.d.R. Zeugs von Immo Landwerth, zB The future of .NET Standard.
Aber eine bebilderte, offizielle Darstellung ausser .NET Future Innovation: .NET Standard is mir nich bekannt.

Microsoft zeigt in ihren Einsteiger-Videos eigentlich nur noch die neue Welt, keinerlei .NET Framework Vergangenheit mehr.
https://youtu.be/2Ky28Et3gy0?t=798
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Jonas007
myCSharp.de - Member



Dabei seit:
Beiträge: 33
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

Danke euch für die guten Erklärungen. Alles was ich gelesen habe, bezog sich auf Leute, die das alles grundsätzlich schon verstehen und für Anfänger wie mich ist das ganze ziemlich kompliziert

edit: Mein Fehler lag bereits am erstellen der Windows-Forms Applikation. Ich habe die Projektvorlage "Windows Forms-App (.Net Framework)" und nicht "Windows Forms-App" gewählt. Bei ersteren kann man nämlich nur .Net-Standart Frameworks auswählen und keine .Net oder .Net-Core Frameworks.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Jonas007 am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16204

beantworten | zitieren | melden

Zitat von Palladin007
@Abt:
Gerade für Einsteiger kann das ja ziemlich verwirrend sein, da würde eine Übersicht helfen.

Bin da zufällig gerade über nen relativ neues YouTube Video von Tim Corey gestolpert, in dem er das eigentlich gut erzählt.
.NET Framework vs .NET Core vs .NET vs .NET Standard vs C# - YouTube
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16204

beantworten | zitieren | melden

Zitat von Palladin007
@Abt:
Kennst Du eine gute Übersicht von Microsoft zu diesen Zusammenhängen?
Gerade für Einsteiger kann das ja ziemlich verwirrend sein, da würde eine Übersicht helfen.
Wir haben nun eine: Das .NET Ökosystem - .NET, .NET Core, .NET Standard, NuGet und Co :-)
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers