Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan skapa en lösning som kompileras för både .NET Framework och .NET sida vid sida. Den här artikeln beskriver flera alternativ för projektorganisation som hjälper dig att uppnå det här målet. Här följer några vanliga scenarier att tänka på när du bestämmer dig för hur du konfigurerar projektlayouten med .NET. Listan kanske inte täcker allt du vill ha.
Kombinera befintliga projekt och .NET-projekt till ett enda projekt
Fördelar:
- Förenklar byggprocessen genom att kompilera ett enskilt projekt i stället för flera projekt som var och en riktar in sig på en annan .NET Framework-version eller plattform.
- Förenklar källfilhantering för projekt med flera mål eftersom du måste hantera en enda projektfil. När du lägger till eller tar bort källfiler kräver alternativen att du synkroniserar filerna manuellt med dina andra projekt.
- Generera enkelt ett NuGet-paket för förbrukning.
- Gör att du kan skriva kod för en specifik .NET Framework-version med hjälp av kompilatordirektiv.
Nackdelen:
- Kräver att utvecklare använder Visual Studio 2019 eller en senare version för att öppna befintliga projekt. Om du vill ha stöd för äldre versioner av Visual Studio är det ett bättre alternativ att behålla dina projektfiler i olika mappar .
-
Fördelar:
- Stöder utveckling av befintliga projekt för utvecklare och deltagare som kanske inte har Visual Studio 2019 eller en senare version.
- Minskar möjligheten att skapa nya buggar i befintliga projekt eftersom ingen kodomsättning krävs i dessa projekt.
Tänk på det här exemplet på GitHub-lagringsplatsen. Bilden nedan visar hur den här lagringsplatsen beskrivs:
I följande avsnitt beskrivs flera sätt att lägga till stöd för .NET baserat på exempellagringsplatsen.
Ersätt befintliga projekt med ett .NET-projekt med flera mål
Omorganisera lagringsplatsen så att alla befintliga *.csproj-filer tas bort och en enda *.csproj-fil skapas som riktar sig mot flera ramverk. Det här är ett bra alternativ eftersom ett enda projekt kan kompilera för olika ramverk. Den har också kraften att hantera olika kompileringsalternativ och beroenden per målramverk.
Exempelkod finns i GitHub.
Ändringar som ska noteras är:
- Ersättning av packages.config och *.csproj med en ny .NET *.csproj. NuGet-paket anges med
<PackageReference> ItemGroup.
Behåll befintliga projekt och skapa ett .NET-projekt
Om det finns befintliga projekt som riktar sig mot äldre ramverk kanske du vill lämna dessa projekt orörda och använda ett .NET-projekt för att rikta in sig på framtida ramverk.
Exempelkod finns i GitHub.
.NET och befintliga projekt lagras i separata mappar. Om du behåller projekt i separata mappar kan du inte tvinga dig att ha Visual Studio 2019 eller senare versioner. Du kan skapa en separat lösning som bara öppnar de gamla projekten.