Quelle est exactement la différence entre .NET Core et ASP.NET Core?
Sont-ils mutuellement exclusifs? J'ai entendu dire qu'ASP.NET Core est construit sur .NET Core, mais il peut également être construit sur le framework .NET complet.
Alors, qu'est-ce que ASP.NET Core exactement?
asp.net-core
.net-core
blubberbo
la source
la source
Réponses:
Mise à jour 2020 : notez qu'ASP.NET Core 3 et les versions ultérieures dépendent désormais de .NET Core et ne peuvent plus être utilisés sur .NET Framework. La description ci-dessous concerne ASP.NET Core 1.x-2.x; la séparation des couches est toujours vraie pour ASP.NET Core 3.0, mais la couche ASP.NET Core ne peut plus être utilisée par-dessus .NET Framework dans 3.0+.
.NET Core est un runtime. Il peut exécuter des applications conçues pour lui.
ASP.NET Core est une collection de bibliothèques qui forment un Framework pour la création d'applications Web. Les bibliothèques ASP.NET Core peuvent être utilisées à la fois sur .NET Core et sur le «.NET Framework complet» (fourni avec Windows depuis de nombreuses années).
La partie déroutante est qu'une application utilisant les bibliothèques et les outils d'ASP.NET Core est généralement appelée «Application ASP.NET Core», qui en théorie ne dit pas si elle est construite pour .NET Core ou .NET Framework. Ainsi, une «application ASP.NET Core» est également une «application .NET Core» ou une «application .NET Framework».
Cette image montre la relation entre les technologies impliquées (tirée de ce billet de blog )
Ici, vous pouvez voir qu'ASP.NET Core est construit «sur» à la fois .NET Framework et .NET Core, tandis que «ASP.NET» (maintenant souvent appelé «ASP.NET classique») est uniquement .NET Framework.
la source
ASP.NET Core
alors sur le serveur Web devons-nous installer.NET Core Runtime
etASP.NET Core runtime
ou tout simplementASP.NET Core runtime
suffitASP.NET Core utilisant .NET Core - toutes les dépendances sont autonomes, peuvent utiliser la plupart des packages NuGet, ne peuvent pas utiliser de packages spécifiques à Windows, peuvent s'exécuter sur Windows, Linux et Mac.
ASP.NET Core utilisant .NET Framework - la plupart des dépendances sont autonomes, s'exécutent uniquement sur Windows, auront accès aux packages NuGet spécifiques à Windows, nécessitent la version .NET Framework ciblée installée sur l'ordinateur.
la source
ASP.NET Core est l'une des charges de travail prises en charge par .NET Core.
À partir du guide .NET Core :
la source
Le .NET Framework est sur sa dernière version. Il n'y en aura pas d'autre après 4.8. Microsoft continuera avec .NET Core. À partir de ce moment, vous devriez préférer .NET Core sur vos projets.
la source
En plus de cela, j'aimerais ajouter que cela pourrait aider quelqu'un.
Il existe quelque chose appelé injection de middleware dans le pipeline de requêtes .NET Core. Si elle est correctement mise en œuvre, elle est très utile, car elle peut intercepter automatiquement les exceptions d'application et rend la journalisation beaucoup plus facile en un seul endroit au lieu de se connecter à toutes les méthodes.
la source