Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile creare una soluzione che viene compilata sia per .NET Framework che per .NET Framework side-by-side. Questo articolo illustra diverse opzioni per l'organizzazione del progetto che consentono di raggiungere questo obiettivo. Ecco alcuni scenari tipici da considerare quando si decide come configurare il layout del progetto con .NET. L'elenco potrebbe non coprire tutto ciò che vuoi.
Combinare progetti esistenti e progetti .NET in un singolo progetto
Vantaggi:
- Semplifica il processo di compilazione compilando un singolo progetto anziché più progetti destinati a una diversa versione o piattaforma di .NET Framework.
- Semplifica la gestione dei file di origine per i progetti con più destinazioni perché è necessario gestire un singolo file di progetto. Quando si aggiungono o rimuovono file di origine, le alternative richiedono di sincronizzare manualmente questi file con gli altri progetti.
- Generare facilmente un pacchetto NuGet per l'utilizzo.
- Consente di scrivere codice per una versione specifica di .NET Framework usando le direttive del compilatore.
Inconveniente:
- Richiede agli sviluppatori di usare Visual Studio 2019 o una versione successiva per aprire i progetti esistenti. Per supportare le versioni precedenti di Visual Studio, mantenere i file di progetto in cartelle diverse è un'opzione migliore.
Mantenere separati tutti i progetti
Vantaggi:
- Supporta lo sviluppo in progetti esistenti per sviluppatori e collaboratori che potrebbero non avere Visual Studio 2019 o versione successiva.
- Riduce la possibilità di creare nuovi bug nei progetti esistenti perché non è necessaria alcuna varianza di codice in tali progetti.
Puoi considerare questo esempio di un repository GitHub. La figura seguente mostra come viene disposto il repository:
Le sezioni seguenti descrivono diversi modi per aggiungere il supporto per .NET in base al repository di esempio.
Sostituire i progetti esistenti con un progetto .NET con più destinazioni
Riorganizzare il repository in modo che tutti i file *.csproj esistenti vengano rimossi e venga creato un singolo file *.csproj destinato a più framework. Questa è un'ottima opzione, perché un singolo progetto può essere compilato per framework diversi. Offre anche la possibilità di gestire diverse opzioni di compilazione e dipendenze per ogni framework di destinazione.
Per un esempio di codice, vedere GitHub.
Le modifiche apportate alla nota sono:
- Sostituzione di packages.config e *.csproj con un nuovo file .NET *.csproj. I pacchetti NuGet vengono specificati con
<PackageReference> ItemGroup.
Mantenere i progetti esistenti e creare un progetto .NET
Se sono presenti progetti destinati a framework meno recenti, è possibile lasciare invariati questi progetti e usare un progetto .NET per definire i framework futuri.
Per un esempio di codice, vedere GitHub.
I progetti .NET e esistenti vengono mantenuti in cartelle separate. Mantenere i progetti in cartelle separate evita di forzare visual Studio 2019 o versioni successive. È possibile creare una soluzione separata che apre solo i progetti precedenti.