Qual è esattamente la differenza tra .NET Core e ASP.NET Core?
Si escludono a vicenda? Ho sentito che ASP.NET Core è basato su .NET Core, ma può anche essere costruito sul framework .NET completo.
Che cos'è esattamente ASP.NET Core?
Qual è esattamente la differenza tra .NET Core e ASP.NET Core?
Si escludono a vicenda? Ho sentito che ASP.NET Core è basato su .NET Core, ma può anche essere costruito sul framework .NET completo.
Che cos'è esattamente ASP.NET Core?
Risposte:
Aggiornamento 2020 : si noti che ASP.NET Core 3 e versioni successive ora dipendono da .NET Core e non possono più essere utilizzate su .NET Framework. La descrizione seguente è per ASP.NET Core 1.x-2.x; la separazione dei livelli è ancora valida per ASP.NET Core 3.0 ma il livello ASP.NET Core non può più essere utilizzato su .NET Framework in 3.0+.
.NET Core è un runtime. Può eseguire applicazioni create appositamente per questo.
ASP.NET Core è una raccolta di librerie che formano un framework per la creazione di applicazioni Web. Le librerie ASP.NET Core possono essere utilizzate sia su .NET Core che su "Full .NET Framework" (fornito con Windows da molti anni).
La parte confusa è che un'applicazione che utilizza le librerie e gli strumenti di ASP.NET Core viene generalmente definita "Applicazione ASP.NET Core", che in teoria non dice se è stata creata per .NET Core o .NET Framework. Quindi, un "core ASP.NET Application" è anche ".NET Core Application" o ".NET Framework Application".
Questa immagine mostra la relazione delle tecnologie coinvolte (tratta da questo post sul blog )
Qui puoi vedere che ASP.NET Core è costruito "sopra" sia .NET Framework che .NET Core, mentre "ASP.NET" (ora spesso chiamato "ASP.NET classico") è solo .NET Framework.
ASP.NET Core
quindi sul server Web dobbiamo installare .NET Core Runtime
e ASP.NET Core runtime
o ASP.NET Core runtime
è sufficiente
ASP.NET Core utilizzando .NET Core : tutte le dipendenze sono autonome, possono utilizzare la maggior parte dei pacchetti NuGet, non possono utilizzare pacchetti specifici di Windows, possono essere eseguiti su Windows, Linux e Mac.
ASP.NET Core che utilizza .NET Framework : la maggior parte delle dipendenze sono autosufficienti, si esegue solo su Windows, avrà accesso a pacchetti NuGet specifici di Windows, necessita della versione di .NET framework di destinazione installata sul computer.
ASP.NET Core è uno dei carichi di lavoro supportati da .NET Core.
Dalla guida di .NET Core :
Di per sé, .NET Core include un singolo modello di applicazione - app console - che è utile per strumenti, servizi locali e giochi basati su testo. Ulteriori modelli applicativi sono stati creati su .NET Core per estenderne le funzionalità, come:
- ASP.NET Core
- Windows 10 Universal Windows Platform (UWP)
- Xamarin.Forms
.NET Framework è alla sua ultima versione. Non ce ne sarà un altro dopo 4.8. Microsoft continuerà con .NET Core. Da questo momento dovresti preferire .NET Core ai tuoi progetti.
Inoltre, vorrei aggiungere che potrebbe aiutare qualcuno.
C'è qualcosa chiamato iniezione di middleware nella pipeline di richieste .NET Core. Se implementato correttamente, questo è molto utile, poiché può intercettare automaticamente le eccezioni dell'applicazione e rende la registrazione molto più semplice in un posto invece di accedere a tutti i metodi.