español - asp.net core vs asp.net mvc
¿Puedo usar ASP.NET Core solo para.NET 4.6.1? (2)
Puede ejecutar ASP.NET Core sobre .NET Core 1.0 o .NET Framework 4.5.1+. Dado que "ASP.NET Core" es en realidad solo un conjunto de paquetes de NuGet, puede instalarlos en un proyecto dirigido a cualquier marco.
Por ejemplo, un proyecto .NET Core se vería así:
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"frameworks": {
"netcoreapp1.0": { }
}
Mientras que un proyecto de .NET Framework se vería como (en el caso de .NET 4.6.1):
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0"
},
"frameworks": {
"net461": { }
}
Esto funciona porque el paquete Microsoft.AspNetCore.Mvc tiene objetivos para .NET Framework 4.5.1 y .NET Standard Library 1.6.
También es posible construir para ambos marcos de un proyecto:
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0",
},
"frameworks": {
"net461": { },
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
}
En este caso, tenga en cuenta que la dependencia Microsoft.NETCore.App
se mueve dentro de la sección de frameworks
. Esto es necesario porque esta dependencia solo es necesaria cuando se netcoreapp1.0
para netcoreapp1.0
, no net461
.
He oído que ASP.NET Core puede apuntar a .NET Framework 4.6.1. ¿Eso significa que solo puede usar .NET 4.6.1, o puede usar .NET 4.6.1 junto con .NET Core?
Puede hacer ambas cosas, es decir, solo destino CLR de escritorio, Core CLR o ambos. Para apuntar al escritorio Clr 4.6.1, use el moniker net461
como marco de destino. Para dirigirse a Core Clr use netcoreapp1.0
. Puede usarlos uno al lado del otro pero se siente un poco incómodo. ¿Por qué haría eso incluso en el caso de las aplicaciones?