Organisieren Ihres Projekts zur Unterstützung von sowohl .NET Framework als auch .NET
Sie können eine Lösung erstellen, die für .NET Framework und .NET parallel kompiliert wird. In diesem Artikel werden verschiedene Projektorganisationsoptionen behandelt, die Ihnen dabei helfen, dieses Ziel zu erreichen. Es folgen einige Szenarien, die Sie bei der Entscheidung berücksichtigen sollten, wie Sie Ihr Projektlayout mit .NET einrichten. Die Liste deckt möglicherweise nicht alles ab, was Sie sich wünschen.
Kombinieren vorhandener Projekte und .NET-Projekte in einem einzelnen Projekt
Vorteile:
- Vereinfachen Ihres Buildprozesses durch Kompilieren eines einzelnen Projekts statt mehrerer Projekte, die alle eine andere Version von .NET Framework oder eine andere Plattform als Ziel verwenden.
- Vereinfachen der Verwaltung von Quelldateien für Projekte mit mehreren Zielen, da Sie nur eine Projektdatei verwalten müssen. Beim Hinzufügen oder Entfernen von Quelldateien müssen Sie diese Dateien bei den Alternativen manuell mit Ihren Projekten synchronisieren.
- Einfaches Generieren eines NuGet-Pakets für die Nutzung.
- Ermöglicht das Schreiben von Code für eine bestimmte .NET Framework-Version mithilfe von Compileranweisungen
Nachteil:
- Entwickler benötigen mindestens Visual Studio 2019, um vorhandene Projekte zu öffnen. Zur Unterstützung von älteren Versionen von Visual Studio ist es eine bessere Option, Ihre Projektdateien in unterschiedlichen Ordnern zu speichern.
-
Vorteile:
- Unterstützung der Entwicklung in vorhandenen Projekten für Entwickler und Mitwirkende, die möglicherweise nicht über Visual Studio 2019 oder eine höhere Version verfügen.
- Verringern der Möglichkeit, neue Probleme in vorhandenen Projekten zu schaffen, da in diesen Projekten keine Codeänderung erforderlich ist.
Betrachten Sie dieses Beispiel eines GitHub-Repositorys. Die folgende Abbildung zeigt das Layout dieses Repositorys:
In den folgenden Abschnitten werden verschiedene Möglichkeiten beschrieben, wie Sie auf Grundlage des Beispielrepositorys Unterstützung für .NET hinzufügen können.
Ersetzen vorhandener Projekte durch ein .NET-Projekt für mehrere Ziele
Organisieren Sie das Repository neu, sodass alle vorhandenen *.csproj-Dateien entfernt werden, und eine einzelne *.csproj-Datei erstellt wird, die mehrere Frameworks als Ziel hat. Dies ist eine hervorragende Option, da ein einzelnes Projekt für verschiedene Frameworks kompiliert werden kann. Außerdem kann die Option verschiedene Kompilierungsoptionen und Abhängigkeiten pro Zielframework behandeln.
Beispielcode finden Sie auf GitHub.
Zu beachtende Änderungen:
- Ersetzung von packages.config und *.csproj durch eine neue .NET *.csproj. NuGet-Pakete werden mit
<PackageReference> ItemGroup
angegeben.
Beibehalten vorhandener Projekte und Erstellen eines .NET-Projekts
Wenn es vorhandene Projekte gibt, die ältere Frameworks als Ziel haben, empfiehlt es sich, diese Projekte unverändert zu lassen und ein .NET-Projekt zu verwenden, das auf künftige Frameworks ausgelegt ist.
Beispielcode finden Sie auf GitHub.
Das .NET- und vorhandene Projekte werden in separaten Ordnern gespeichert. Durch das Speichern der Projekte in separaten Ordnern ist Visual Studio 2019 oder eine spätere Version nicht mehr notwendig. Sie können eine separate Lösung erstellen, die nur die alten Projekte öffnet.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für