Organizowanie projektu w celu obsługi zarówno programu .NET Framework, jak i platformy .NET

Można utworzyć rozwiązanie kompilujące zarówno dla platformy .NET Framework, jak i platformy .NET obok siebie. W tym artykule opisano kilka opcji organizacji projektu, które pomogą Ci osiągnąć ten cel. Poniżej przedstawiono kilka typowych scenariuszy, które należy wziąć pod uwagę podczas podejmowania decyzji o sposobie konfigurowania układu projektu przy użyciu platformy .NET. Lista może nie obejmować wszystkich potrzebnych elementów.

  • Łączenie istniejących projektów i projektów .NET w jeden projekt

    Korzyści:

    • Upraszcza proces kompilacji, kompilując pojedynczy projekt, a nie wiele projektów przeznaczonych dla innej wersji lub platformy .NET Framework.
    • Upraszcza zarządzanie plikami źródłowymi dla projektów wielokierunkowych, ponieważ należy zarządzać pojedynczym plikiem projektu. Podczas dodawania lub usuwania plików źródłowych alternatywy wymagają ręcznej synchronizacji tych plików z innymi projektami.
    • Łatwe generowanie pakietu NuGet do użycia.
    • Umożliwia pisanie kodu dla określonej wersji programu .NET Framework przy użyciu dyrektyw kompilatora.

    Wadą:

  • Zachowaj wszystkie projekty oddzielnie

    Korzyści:

    • Obsługuje tworzenie istniejących projektów dla deweloperów i współautorów, którzy mogą nie mieć programu Visual Studio 2019 lub nowszej wersji.
    • Zmniejsza możliwość tworzenia nowych usterek w istniejących projektach, ponieważ w tych projektach nie jest wymagany żaden współczynnik zmian kodu.

Rozważmy to przykładowe repozytorium GitHub. Na poniższej ilustracji przedstawiono sposób, w jaki to repozytorium zostało określone:

Istniejący diagram struktury projektu

W poniższych sekcjach opisano kilka sposobów dodawania obsługi platformy .NET na podstawie przykładowego repozytorium.

Zastępowanie istniejących projektów wielokierunkowym projektem platformy .NET

Zreorganizowanie repozytorium w taki sposób, aby wszystkie istniejące pliki *.csproj zostały usunięte, a pojedynczy plik *.csproj jest tworzony, który jest przeznaczony dla wielu struktur. Jest to świetna opcja, ponieważ pojedynczy projekt może być kompilowany dla różnych struktur. Ma również możliwość obsługi różnych opcji kompilacji i zależności na platformę docelową.

projekt, który jest przeznaczony dla wielu diagramów struktur

Na przykład kod można znaleźć w witrynie GitHub.

Zmiany, które należy odnotować, to:

  • Zastąpienie packages.config i *.csproj nowym plikiem .NET *.csproj. Pakiety NuGet są określane za pomocą polecenia <PackageReference> ItemGroup.

Zachowaj istniejące projekty i utwórz projekt platformy .NET

Jeśli istnieją projekty przeznaczone dla starszych systemów, możesz pozostawić te projekty nietknięte i użyć projektu .NET, aby celować w przyszłe systemy.

Projekt .NET z istniejącymi projektami na innym diagramie folderów

Na przykład kod można znaleźć w witrynie GitHub.

Projekty .NET i istniejące są przechowywane w osobnych folderach. Przechowywanie projektów w oddzielnych folderach pozwala uniknąć wymuszania korzystania z programu Visual Studio 2019 lub nowszego. Możesz utworzyć oddzielne rozwiązanie, które otwiera tylko stare projekty.

Zobacz także