Hoy vamos a compartir las novedades que ha traido .NET Core 3, como es usual al cambiar la versión del framework se suelen cambiar sus dependencias también.
- Mejor performance
- Soporte para Windows Form
- Soporte para WPF
- New JSON APIs
- C# 8
- Nueva versión de SqlClient
- Nueva versión de ASP.NET Core
- Nueva versión de EF Core
- Entre otras más, pero consideramos las anteriores como las más relevantes.
ASP.NET Core 3
Simplificación de los archivos .csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
</Project>
Cambia el StartUp
APIs RESTFul
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
MVC
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
Razor Pages
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
}
Razor Pages y MVC al mismo tiempo
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddRazorPages();
}
Cambia la configuración inicial de ruteo
El UseMvc o UseSignalR es reemplazado por UseEndpoints.
public void Configure(IApplicationBuilder app)
{
...
app.UseStaticFiles();
app.UseRouting();
app.UseCors();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<ChatHub>("/chat");
endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
});
}
Antes lo teníamos así
public void Configure(IApplicationBuilder app)
{
...
app.UseStaticFiles();
app.UseAuthentication();
app.UseSignalR(hubs =>
{
hubs.MapHub<ChatHub>("/chat");
});
app.UseMvc(routes =>
{
routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
});
}
Más sencillo trabajar con CORS
Ahora podemos indicar facilmente cuando queremos que un controlador deshabilite nuestra especifición CORS.
[DisableCors]
public class MyController : ControllerBase
{
...
}
Estas serían las cosas más relevantes entre las nuevas novedades.
Conclusiones
Con respecto a lo aprendido en ASP.NET Core 2.2 realmente los cambios son más que nada de configuración del StartUp porque el conocimiento de como crear un proyecto, la estructura MVC y lo demás se mantiene igual.
Pd. tenemos un deuda de migrar KODOTI a la nueva versión de .NET Core 3.
- 01. .NET Core 3 descarga
- 02. Novedades de .NET Core 3 (Texto original)
- 03. ¿Cómo migrar .NET Core 2.2 a 3?