remarks generate example c# .net nuget asp.net-core .net-core

generate - params comments c#



¿Cuál es la diferencia entre los nuevos TFM de netstandardapp y netcoreapp? (2)

¿Cuál es la diferencia entre los nuevos TFM de netstandardapp y netcoreapp?

netstandardapp está obsoleto, netcoreapp reemplaza.

Entonces, ¿qué se supone que es netcoreapp exactamente?

netcoreapp es el nombre de marco de destino para la plataforma .NET Core. Si agrega netcoreapp a la sección de frameworks de project.json, se ejecutará una compilación de su aplicación en .NET Core.

No entiendo cuál es la diferencia entre los hosts de aplicaciones NETStandard.Library + y la instalación base de .NET Core. ¿Podría alguien por favor explicármelo?

Los hosts de la aplicación NETStandard.Library + es el paquete NetStandard.App. No uses esto, está muerto. Incluye tres paquetes de host de aplicaciones y la biblioteca estándar.

  • Microsoft.NETCore.DotNetHostPolicy
  • Microsoft.NETCore.Platforms
  • Microsoft.NETCore.Runtime
  • NETStandard.Library

La instalación base de NET Core es el paquete Microsoft.NetCore.App. Use esto en su lugar. Mantiene dos de los paquetes anteriores, elimina dos de ellos y agrega alrededor de 37 paquetes adicionales Microsoft.* Y System.* .

  • Microsoft.* Ensamblados adicionales
  • Microsoft.NETCore.DotNetHostPolicy
  • Microsoft.NETCore.Platforms <----- En abril de 2016, estos dos se convirtieron
  • Microsoft.NETCore.Runtime <------- parte de NETStandard.Library.
  • NETStandard.Library
  • System.* adicional System.* Ensamblajes

Referencias

https://github.com/NuGet/Home/issues/2524 > Establece que el moniker de marco de destino netstandardapp "ya no es válido".

https://github.com/dotnet/cli/issues/2482 > Establece que "los proyectos destinados a NetStandardApp deben ser portados a NetCoreApp. NetStandardApp no ​​será compatible con CLI 1.0.0 RC2".

https://www.myget.org/feed/aspnetvnext/package/nuget/NETStandard.Library > El historial del paquete muestra el gran cambio en abril de 2016.

Noté que NuGet ha agregado recientemente soporte para varios TFM nuevos relacionados con .NET Core, que incluyen:

  • netstandard (1.0-1.5)
  • netstandardapp (1.5)
  • netcoreapp (1.0)

Que yo sepa, netstandard es el equivalente de .NET Core de un perfil portátil; le permite apuntar a múltiples plataformas usando un solo nombre, en lugar de explicar explícitamente cada plataforma que admite, por ejemplo portable-net45+netcore45+wp81 .

Mientras tanto, de acuerdo con este documento, netstandardapp es más como una aplicación de consola en .NET Core; representa algo que cualquier tiempo de ejecución de .NET Core (por ejemplo, CoreCLR, CoreRT).

Entonces, ¿qué se supone que es netcoreapp exactamente? Encontré el problema de seguimiento here, que incluye un comentario en la parte inferior que explica un poco la diferencia, pero no entiendo cuál es la diferencia entre

NETStandard.Library + hosts de aplicaciones

y

Instalación básica de .NET Core

es. ¿Podría alguien por favor explicármelo?


.NET Standard Library (netstandard) es una biblioteca consistente en todos los modelos de aplicaciones. .NET Core (netcoreapp) se ejecuta sobre .NET Standard Library y es un AppModel. Desde la página de github responden qué es una aplicación .NET Standard y cuál es la diferencia con .NET Core ( https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-standard-applications.md ) y ( https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md )

ACTUALIZACIÓN: .NETStandardapp está obsoleto. La aplicación NETCore lo reemplaza ( https://github.com/NuGet/Home/issues/2524 )

P: ¿Qué es una aplicación .NET Standard? R: Una aplicación .NET Standard es una aplicación que puede ejecutarse en cualquier tiempo de ejecución de .NET Core: CoreCLR (actual), .NETNative (futuro). Puede ejecutarse en una de las muchas plataformas principales de .NET (Windows, OSX, Linux). Se basa en el host proporcionado por el tiempo de ejecución dado. Es un marco componible creado a partir de los paquetes de los que depende la aplicación. Su política de carga de ensamblaje permite nuevas versiones de dependencias sin ninguna configuración de aplicación (por ejemplo: no se requieren BindingRedirects).

P: ¿En qué se diferencia esto de .NETCore? R: El marco de destino .NETCore representa las aplicaciones de Windows 8, Windows 8.1 y la Plataforma universal de Windows. Por motivos de compatibilidad, este apodo no se puede reutilizar para "aplicaciones .NET Core". La superposición de la marca es lamentable.

P: ¿En qué se diferencia esto de .NETStandard? R: El marco de destino NETStandard es un marco de destino abstracto que representa la superficie API de muchos marcos y plataformas. Como tales, los ensamblados de NETStandard pueden ejecutarse en cualquier plataforma que admita el NETStandard objetivo de ese ensamblaje, por ejemplo: .NET Desktop, Windows Phone, aplicaciones de la Plataforma universal de Windows, aplicaciones .NET Standard, etc. NETStandardApplication es un marco de destino concreto que representa un único plataforma con superficie API e implementación. Las aplicaciones estándar .NET son ejecutables por sí mismas. Las bibliotecas .NETStandard deben ser publicadas o consumidas por un marco de destino concreto específico para ser utilizado en ese tipo de aplicación.