Uspořádání projektu pro podporu rozhraní .NET Framework i .NET

Můžete vytvořit řešení, které se kompiluje pro rozhraní .NET Framework i .NET vedle sebe. Tento článek popisuje několik možností organizace projektu, které vám pomůžou dosáhnout tohoto cíle. Tady je několik typických scénářů, které byste měli zvážit při rozhodování o tom, jak nastavit rozložení projektu pomocí .NET. Seznam nemusí pokrývat všechno, co chcete.

  • Sloučení existujících projektů a projektů .NET do jednoho projektu

    Výhody:

    • Zjednodušuje proces sestavení tím, že kompiluje jeden projekt místo více projektů, které cílí na jinou verzi nebo platformu rozhraní .NET Framework.
    • Zjednodušuje správu zdrojových souborů pro projekty s více cíli, protože musíte spravovat jeden soubor projektu. Při přidávání nebo odebírání zdrojových souborů vyžadují alternativy ruční synchronizaci těchto souborů s ostatními projekty.
    • Snadno vygenerujte balíček NuGet pro spotřebu.
    • Umožňuje psát kód pro konkrétní verzi rozhraní .NET Framework pomocí direktiv kompilátoru.

    Nevýhoda:

  • Zachovat všechny projekty oddělené

    Výhody:

    • Podporuje vývoj stávajících projektů pro vývojáře a přispěvatele, kteří nemusí mít Visual Studio 2019 nebo novější verzi.
    • Snižuje možnost vytváření nových chyb v existujících projektech, protože v těchto projektech není nutná žádná četnost změn kódu.

Podívejte se na toto ukázkové úložiště GitHub. Následující obrázek ukazuje, jak je toto úložiště rozloženo:

Diagram struktury existujícího projektu

Následující části popisují několik způsobů, jak přidat podporu pro .NET na základě ukázkového úložiště.

Nahrazení existujících projektů více cíleným projektem .NET

Přeuspořádejte úložiště tak, aby se odebraly všechny existující soubory *.csproj a vytvořil se jeden soubor *.csproj , který cílí na více architektur. To je skvělá možnost, protože jeden projekt může kompilovat pro různé architektury. Má také možnost zpracovávat různé možnosti kompilace a závislosti pro každou cílovou architekturu.

projekt, který cílí na diagram více architektur

Například kód najdete na GitHubu.

Změny, které stojí za povšimnutí, jsou:

  • Nahrazení packages.config a *.csproj novým .NET *.csproj. Balíčky NuGet jsou zadány pomocí <PackageReference> ItemGroup.

Zachování existujících projektů a vytvoření projektu .NET

Pokud existují projekty, které cílí na starší architektury, můžete chtít ponechat tyto projekty nedotčené a použít projekt .NET k cílení budoucích architektur.

Projekt .NET s existujícími projekty v diagramu jiné složky

Například kód najdete na GitHubu.

.NET a existující projekty se uchovávají v samostatných složkách. Udržování projektů v samostatných složkách zabraňuje vynucení, abyste měli Visual Studio 2019 nebo novější verze. Můžete vytvořit samostatné řešení, které otevře pouze staré projekty.

Viz také