Freigeben über


Organisieren Ihres Projekts zur Unterstützung von .NET Framework und .NET

Sie können eine Lösung erstellen, die für .NET Framework und .NET parallel kompiliert wird. In diesem Artikel werden mehrere Optionen für die Projektorganisation behandelt, mit denen Sie dieses Ziel erreichen können. Im Folgenden finden Sie einige typische Szenarien, die Sie berücksichtigen sollten, wenn Sie entscheiden, wie Sie Ihr Projektlayout mit .NET einrichten. Die Liste deckt möglicherweise nicht alles ab, was Sie möchten.

  • Kombinieren vorhandener Projekte und .NET-Projekte in einem einzigen Projekt

    Vorteile:

    • Vereinfacht den Buildprozess, indem ein einzelnes Projekt anstelle mehrerer Projekte kompiliert wird, die jeweils auf eine andere .NET Framework-Version oder -Plattform abzielen.
    • Vereinfacht die Verwaltung von Quelldateien für mehrere gezielte Projekte, da Sie eine einzelne Projektdatei verwalten müssen. Beim Hinzufügen oder Entfernen von Quelldateien müssen Sie diese Dateien manuell mit Ihren anderen Projekten synchronisieren.
    • Generieren Sie einfach ein NuGet-Paket für den Verbrauch.
    • Ermöglicht Ihnen das Schreiben von Code für eine bestimmte .NET Framework-Version mithilfe von Compilerdirektiven.

    Nachteil:

  • Alle Projekte voneinander trennen

    Vorteile:

    • Unterstützt die Entwicklung für vorhandene Projekte für Entwickler und Mitwirkende, die möglicherweise nicht über Visual Studio 2019 oder eine höhere Version verfügen.
    • Verringert die Möglichkeit, neue Fehler in vorhandenen Projekten zu erstellen, da in diesen Projekten kein Codeabbruch erforderlich ist.

Betrachten Sie dieses Beispiel-GitHub-Repository. Die folgende Abbildung zeigt, wie dieses Repository angelegt ist:

Vorhandenes Projektstrukturdiagramm

In den folgenden Abschnitten werden verschiedene Möglichkeiten zum Hinzufügen der Unterstützung für .NET basierend auf dem Beispiel-Repository beschrieben.

Ersetzen vorhandener Projekte durch ein mehrorientiertes .NET-Projekt

Ordnen Sie das Repository neu an, sodass alle vorhandenen *.csproj-Dateien entfernt werden und eine einzelne *.csproj-Datei erstellt wird, die auf mehrere Frameworks ausgerichtet ist. Dies ist eine großartige Option, da ein einzelnes Projekt für verschiedene Frameworks kompiliert werden kann. Außerdem können unterschiedliche Kompilierungsoptionen und Abhängigkeiten pro gezieltes Framework behandelt werden.

Projekt, das auf mehrere Frameworks ausgerichtet ist

Beispielcode finden Sie unter GitHub.

Änderungen an der Notiz sind:

  • Ersetzung von packages.config und *.csproj durch ein neues .NET *.csproj. NuGet-Pakete werden mit <PackageReference> ItemGroup.

Vorhandene Projekte beibehalten und ein .NET-Projekt erstellen

Wenn es bereits Projekte gibt, die auf ältere Frameworks abzielen, sollten Sie diese Projekte unverändert lassen und ein .NET-Projekt für zukünftige Frameworks verwenden.

.NET-Projekt mit vorhandenen Projekten in einem anderen Ordnerdiagramm

Beispielcode finden Sie unter GitHub.

Die .NET- und vorhandenen Projekte werden in separaten Ordnern gespeichert. Wenn Projekte in separaten Ordnern gespeichert werden, müssen Sie nicht gezwungen werden, Visual Studio 2019 oder höhere Versionen zu verwenden. Sie können eine separate Lösung erstellen, die nur die alten Projekte öffnet.

Siehe auch