Quelle est la différence entre le nouveau Netstandardapp et Netcoreapp TFMs?
J'ai remarqué que NuGet a récemment ajouté le support de plusieurs nouveaux TFM liés à. NET Core, y compris:
-
netstandard
(1.0-1.5) -
netstandardapp
(1.5) -
netcoreapp
(1.0)
Au meilleur de ma connaissance, netstandard
est l'équivalent. net Core d'un profil portable; il vous permet de cibler plusieurs plates-formes en utilisant un seul surnom, au lieu d'épeler explicitement chaque plate-forme que vous supportez, par exemple portable-net45+netcore45+wp81
.
Pendant ce temps, selon ce document netstandardapp
est plus comme une application de console dans. net Core; il représente quelque chose que tout runtime. net Core (par exemple CoreCLR, CoreRT).
Qu'est-ce que netcoreapp
est censé être? J'ai trouvé le problème de suivi ici, qui comprend un commentaire en bas qui explique en quelque sorte Quelle est la différence, mais je ne comprends pas quelle est la différence entre
NETStandard.Bibliothèque + hôtes app
Et
.NET de base base installer
Est. Quelqu'un pourrait-il svp me l'expliquer?
2 réponses
La bibliothèque. net Standard (netstandard) est une bibliothèque cohérente entre les modèles d'applications. . Net Core (netcoreapp) fonctionne au-dessus de la bibliothèque Standard.net et est un AppModel. Depuis la page github, ils répondent à ce qu'est une application standard. net et à quelle différence avec. net Core (https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-standard-applications.md) et (https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md)
Mise à jour: La.NETStandardapp est obsolète. L'application NETCore le remplace ( https://github.com/NuGet/Home/issues/2524)
Q: qu'est-ce qu'une application. net Standard? A: une application. net Standard est une application qui peut s'exécuter sur N'importe quel runtime .net Core: CoreCLR (current),.NETNative (avenir). Il peut fonctionner sur l'une des nombreuses plates-formes. net core (Windows, OSX, Linux). Il repose sur l'hôte fourni par le runtime donné. C'est un framework composable construit à partir des paquets dont dépend l'application. Sa politique de chargement d'assembly permet de nouvelles versions de dépendances sans aucune configuration d'application (par exemple: BindingRedirects ne sont pas requis).
Q: En quoi est-ce différent de .NETCore? Un: La .Cible NETCore cadre représente Windows 8, Windows 8.1, et Universal Windows Applications de plate-forme. À des fins de compatibilité ce surnom ne peut pas être réutilisé pour". net core applications". L'image de marque de chevauchement est malheureux.
Q: En quoi est-ce différent de .NETStandard? R: Le NETStandard target framework est un framework cible abstrait qui représente la surface de L'API de nombreux frameworks et plates-formes. En tant que tels, les assemblages NETStandard peuvent s'exécuter sur n'importe quelle plate-forme prenant en charge le NETStandard ciblé par cet assemblage, par exemple:. net Desktop, Windows Phone, Universal Windows Platform applications,. net Applications Standard, etc. NETStandardApplication est un framework cible concret qui représente une plate-forme unique avec la surface de L'API et l'implémentation. Les applications standard. net sont exécutables seules. .Les bibliothèques NETStandard doivent être publiées-pour ou consommées - par un cadre cible concret spécifique à utiliser dans ce type d'application.
Quelle est la différence entre le nouveau TFM netstandardapp et netcoreapp?
netstandardapp
est obsolète, netcoreapp
remplace.
Qu'est-ce que netcoreapp est censé être?
netcoreapp
est le nom du framework cible pour la plate-forme.net Core. Si vous ajoutez netcoreapp
à votre projet.la section frameworks de json, puis une version de votre application s'exécutera sur.net Core.
Je ne comprends pas quelle est la différence entre NETStandard.Bibliothèque + les hôtes de l'application et l'installation de BASE.NET Core est. Quelqu'un pourrait-il svp me l'expliquer?
NETStandard.Bibliothèque + hôtes app est le NetStandard.Package de l'application. Ne pas utiliser ce - qu'il est mort. Il comprend trois paquets d'hôte d'application et la bibliothèque standard.
Microsoft.NETCore.DotNetHostPolicy
Microsoft.NETCore.Platforms
Microsoft.NETCore.Runtime
NETStandard.Library
Net Core base install est le Microsoft.NetCore.Package de l'application. Utiliser ce lieu. Il conserve deux des paquets ci dessus, supprime deux d'entre eux, et ajoute environ 37 paquets Microsoft.*
et System.*
supplémentaires.
- assemblages supplémentaires
Microsoft.*
Microsoft.NETCore.DotNetHostPolicy
-
Microsoft.NETCore.Platforms
<-----
En avril 2016, ces deux sont devenus -
Microsoft.NETCore.Runtime
<-------
une partie de la NETStandard.Bibliothèque. NETStandard.Library
- assemblages supplémentaires
System.*
Références à
Https://github.com/NuGet/Home/issues/2524 > indique que le cadre cible netstandardapp surnom est "n'est plus valide."
Https://github.com/dotnet/cli/issues/2482 > indique que " les projets ciblant NetStandardApp doivent être portés sur NetCoreApp. NetStandardApp ne va pas être pris en charge par CLI 1.0.0 RC2."
Https://www.myget.org/feed/aspnetvnext/package/nuget/NETStandard.Library > L'historique des paquets montre le grand changement en avril 2016.