Compartir a través de


Novedades de .NET Core 2.0

.NET Core 2.0 incluye mejoras y características nuevas en las áreas siguientes:

Tooling

dotnet restore se ejecuta de manera implícita

En las versiones anteriores de .NET Core, era necesario ejecutar el comando dotnet restore para descargar dependencias inmediatamente después de crear un proyecto nuevo con el comando dotnet new, así como también cada vez que se agregaba una dependencia nueva al proyecto.

No es necesario ejecutar dotnet restore porque lo ejecutan implícitamente todos los comandos que necesitan que se produzca una restauración, como dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish y dotnet pack. Para deshabilitar la restauración implícita, use la opción --no-restore.

El comando dotnet restore sigue siendo válido en algunos escenarios donde tiene sentido realizar una restauración explícita, como las compilaciones de integración continua en Azure DevOps Services o en los sistemas de compilación que necesitan controlar explícitamente cuándo se produce la restauración.

Para obtener información sobre cómo administrar fuentes de NuGet, vea la documentación de dotnet restore.

También puede deshabilitar la invocación automática de dotnet restore si pasa el modificador --no-restore a los comandos new, run, build, publish, pack y test.

Redestinación a .NET Core 2.0

Si el SDK de .NET Core 2.0 SDK está instalado, los proyectos que tienen .NET Core 1.x como destino se pueden redestinar a .NET Core 2.0.

Para redestinar a .NET Core 2.0, edite el archivo del proyecto cambiando el valor del elemento <TargetFramework> (o del elemento <TargetFrameworks>, si tiene más de un destino en el archivo del proyecto) de 1.x a 2.0:

<PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
 </PropertyGroup>

También puede redestinar las bibliotecas de .NET Standard a .NET Standard 2.0 del mismo modo:

<PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
 </PropertyGroup>

Para más información sobre cómo migrar el proyecto a .NET Core 2.0, consulte el artículo sobre migración de ASP.NET Core 1.x a ASP.NET Core 2.0.

Compatibilidad con lenguajes

Además de admitir C# y F#, .NET Core 2.0 también es compatible con Visual Basic.

Visual Basic

Con la versión 2.0, .NET Core ahora es compatible con Visual Basic 2017. Puede usar Visual Basic para crear los tipos de proyecto siguientes:

  • Aplicaciones de consola .NET Core
  • Bibliotecas de clases .NET Core
  • Bibliotecas de clases .NET Standard
  • Proyectos de prueba unitaria .NET Core
  • Proyectos de prueba xUnit .NET Core

Por ejemplo, para crear una aplicación "Hola mundo" de Visual Basic, haga estos pasos en la línea de comandos:

  1. En una ventana de la consola, cree un directorio para el proyecto y conviértalo en el directorio actual.

  2. Escriba el comando dotnet new console -lang vb.

    El comando crea un archivo del proyecto con una extensión de archivo .vbproj, además de un archivo de código fuente de Visual Basic llamado Program.vb. Este archivo contiene el código fuente para escribir la cadena "Hola mundo" en la ventana de la consola.

  3. Escriba el comando dotnet run. La CLI de .NET compila y ejecuta automáticamente la aplicación, con lo que se muestra el mensaje "Hola, mundo" en la ventana de la consola.

Compatibilidad con C# 7.1

.NET Core 2.0 es compatible con C# 7.1, que agrega varias características nuevas, entre las que se incluyen las siguientes:

  • El método Main, el punto de entrada de la aplicación, se puede marcar con la palabra clave async.
  • Nombres de tupla deducidos.
  • Expresiones predeterminadas.

Mejoras en la plataforma

.NET Core 2.0 incluye varias características que facilitan la instalación de .NET Core y su uso en sistemas operativos compatibles.

.NET Core para Linux es una sola implementación

.NET Core 2.0 ofrece una sola implementación de Linux que funciona en varias distribuciones de Linux. .NET Core 1.x requería que descargara una implementación de Linux específica para la distribución.

También puede desarrollar aplicaciones que tienen Linux como destino como un solo sistema operativo. .NET Core 1.x requería que se tuviera cada distribución de Linux como destino de forma independiente.

Compatibilidad con las bibliotecas de cifrado de Apple

.NET Core 1.x en macOS requería la biblioteca de cifrado del kit de herramientas OpenSSL. .NET Core 2.0 usa las bibliotecas de cifrado de Apple y no requiere OpenSSL, por lo que ya no es necesario instalarlo.

Cambios en la API y compatibilidad con bibliotecas

Compatibilidad con .NET Standard 2.0

.NET Standard define un conjunto de API con versión que debe estar disponible en las implementaciones de .NET que se ajustan a esa versión del estándar. .NET Standard está dirigido a los desarrolladores de bibliotecas. Pretende garantizar la funcionalidad que está disponible a una biblioteca que tiene como destino una versión de .NET Standard en cada implementación de .NET. .NET Core 1.x es compatible con la versión 1.6 de .NET Standard; .NET Core 2.0 es compatible con la versión más reciente, .NET Standard 2.0. Para más información, consulte .NET Standard.

.NET Standard 2.0 incluye más de 20 000 API más que las disponibles en .NET Standard 1.6. Gran parte de esta área expuesta expandida es resultado de la incorporación de las API comunes de .NET Framework y Xamarin en .NET Standard.

Las bibliotecas de clases de .NET Standard 2.0 también pueden hacer referencia a bibliotecas de clases de .NET Framework, siempre que llamen a las API que existen en .NET Standard 2.0. No es necesario realizar una nueva compilación de las bibliotecas .NET Framework.

Para obtener una lista de las API que se han agregado a .NET Standard desde su última versión, .NET Standard 1.6, vea .NET Standard 2.0 frente a 1.6.

Área expuesta expandida

La cantidad total de API disponibles en .NET Core 2.0 aumentó más del doble en comparación con .NET Core 1.1.

Además, con el paquete de compatibilidad de Windows, la migración desde .NET Framework ahora es mucho más fácil.

Compatibilidad con las bibliotecas .NET Framework

El código de .NET Core puede hacer referencia a bibliotecas .NET Framework existentes, incluidos paquetes NuGet existentes. Tenga en cuenta que las bibliotecas deben usar las API que se encuentran en .NET Standard.

integración de Visual Studio

La versión 15.3 de Visual Studio 2017 ofrece una serie de mejoras significativas para los desarrolladores de .NET Core.

Redestinación de aplicaciones .NET Core y bibliotecas .NET Standard

Si el SDK de .NET Core 2.0 SDK está instalado, puede redestinar los proyectos de .NET Core 1.x a .NET Core 2.0 y las bibliotecas .NET Standard 1.x a .NET Standard 2.0.

Para redestinar el proyecto en Visual Studio, abra la pestaña Aplicación del cuadro de diálogo de propiedades del proyecto y cambie el valor de plataforma de destino a .NET Core 2.0 o .NET Standard 2.0. También puede cambiarlo si hace clic con el botón derecho en el proyecto y selecciona la opción Editar archivo *.csproj. Para más información, consulte la sección Herramientas anteriormente en este tema.

Compatibilidad con Live Unit Testing en .NET Core

Cada vez que modifique el código, Live Unit Testing ejecuta automáticamente y en segundo plano cualquier prueba unitaria afectada y presenta los resultados y la cobertura de código en vivo en el entorno de Visual Studio. .NET Core 2.0 ahora admite Live Unit Testing. Anteriormente, Live Unit Testing solo estaba disponible para aplicaciones .NET Framework.

Para obtener más información, consulte Live Unit Testing con Visual Studio y las preguntas más frecuentes de Live Unit Testing.

Mejor compatibilidad con varias plataformas de destino

Si compila un proyecto para varias plataformas de destino, ahora puede seleccionar la plataforma de destino en el menú de nivel superior. En la figura siguiente, un proyecto llamado SCD1 tiene como destino macOS X 10.11 (osx.10.11-x64) de 64 bits y Windows 10/Windows Server 2016 (win10-x64) de 64 bits. Puede seleccionar la plataforma de destino antes de seleccionar el botón del proyecto, en este caso para ejecutar una compilación de depuración.

Captura de pantalla en la que se muestra la selección de la plataforma de destino al crear un proyecto.

Compatibilidad en paralelo con SDK de .NET Core

Ahora es posible instalar el SDK de .NET Core de manera independiente de Visual Studio. Esto permite que una versión única de Visual Studio compile proyectos que tienen como destino distintas versiones de .NET Core. Anteriormente, Visual Studio y el SDK de .NET Core estaban estrechamente relacionados; una versión específica del SDK acompañaba a una versión específica de Visual Studio.

Mejoras en la documentación

Arquitectura de aplicación de .NET

Arquitectura de aplicación de .NET le permite acceder a un conjunto de libros electrónicos que ofrecen orientación, procedimientos recomendados y aplicaciones de ejemplo cuando use .NET para compilar:

Vea también