A projekt rendszerezése a .NET-keretrendszer és a .NET támogatásához

Létrehozhat egy olyan megoldást, amely mind a .NET-keretrendszerhez, mind a .NET-hez párhuzamosan fordít. Ez a cikk több projektszervezési lehetőséget is bemutat, amelyek segítenek elérni ezt a célt. Az alábbiakban néhány tipikus forgatókönyvet érdemes figyelembe venni, amikor eldönti, hogyan állíthatja be a projektelrendezést a .NET-tel. Előfordulhat, hogy a lista nem fed le mindent, amit szeretne.

  • Meglévő és .NET-projektek egyesítése egyetlen projektbe

    Előnyök:

    • Leegyszerűsíti a buildelési folyamatot úgy, hogy egyetlen projektet állít össze több projekt helyett, amelyek mindegyike egy másik .NET-keretrendszer-verziót vagy platformot céloz meg.
    • Leegyszerűsíti a forrásfájl-kezelést több célprojekt esetében, mivel egyetlen projektfájlt kell kezelnie. Forrásfájlok hozzáadásakor vagy eltávolításakor az alternatív megoldásokhoz manuálisan kell szinkronizálnia ezeket a fájlokat a többi projekttel.
    • Egyszerűen létrehozhat egy NuGet-csomagot fogyasztásra.
    • Lehetővé teszi egy adott .NET-keretrendszer-verzió kódjának írását fordítói irányelvek használatával.

    Hátránya:

  • Az összes projekt elkülönítése

    Előnyök:

    • Támogatja a meglévő projektek fejlesztését olyan fejlesztők és közreműködők számára, akik esetleg nem rendelkeznek Visual Studio 2019-es vagy újabb verzióval.
    • Csökkenti az új hibák létrehozásának lehetőségét a meglévő projektekben, mivel ezekben a projektekben nincs szükség kódváltozásra.

Tekintse meg ezt a gitHub-adattárat. Az alábbi ábrán az adattár felépítése látható:

Meglévő projektszerkezet-diagram

Az alábbi szakaszok a példaadattár alapján többféleképpen is támogatják a .NET-et.

Meglévő projektek lecserélése több célzott .NET-projektre

Átrendezi az adattárat úgy, hogy a meglévő *.csproj fájlokat eltávolítsa, és egyetlen *.csproj fájlt hoz létre, amely több keretrendszert céloz meg. Ez egy remek lehetőség, mert egyetlen projekt lefordítható különböző keretrendszerekhez. Emellett képes kezelni a különböző fordítási lehetőségeket és függőségeket célzott keretrendszerenként.

projekt, amely több keretrendszer diagramot céloz meg

Példakód: GitHub.

A megjegyzés módosításai a következők:

  • A packages.config és a *.csproj cseréje egy új .NET alapú *.csproj fájlra. A NuGet-csomagok a következővel <PackageReference> ItemGroupvannak megadva: .

Meglévő projektek megtartása és .NET-projekt létrehozása

Ha vannak olyan projektek, amelyek régebbi keretrendszereket céloznak meg, érdemes lehet érintetlenül hagyni ezeket a projekteket, és .NET-projektet használni a jövőbeli keretrendszerek megcélzásához.

.NET-projekt meglévő projektekkel egy másik mappa diagramján

Példakód: GitHub.

A .NET és a meglévő projektek külön mappákban vannak tárolva. A projektek külön mappákban való tárolása elkerüli annak szükségességét, hogy a Visual Studio 2019 vagy újabb verzióit kelljen használnia. Létrehozhat egy külön megoldást, amely csak a régi projekteket nyitja meg.

Lásd még