sábado, 19 de agosto de 2017

Entrada vintage parte 2: .Net Core 2.0 y Visual Studio 2015

Continuando con mi entrada anterior (http://www.serginet.com/2017/08/core-vs), y una vez que .NET Core 2.0 ha sido liberado, vamos  a ver como podemos crear, compilar y ejecutar aplicaciones basadas en .NET Core 2 con proyectos tipo project.json (los de Visual Studio 2015).

Lo primero ver la situación inicial, tal y como hacíamos en la entrada anterior:

  • La versión del runtime de .NET Core, ejecutando el comando dotnet.
  • La versión del CLI, con dotnet --version. 
  • La versión del SDK (que debería ser la misma que la del CLI), con dotnet --info.

image

         
          Como veis hay un runtime 1.0.1 con un SDK (y por tanto CLI) 1.0.0-preview2-003131

  • ¿Hay otros SDK's instalados?, Para ello miramos directamente en la carpeta ProgramFiles\dotnet\SDK y vemos que en esta máquina no hay más SDK's

image

  • ¿Qué dice Windows que tenemos instalado?  Miramos a Agregar/Quitar programas, y reconfirmamos que no hay nada más instalado.

agregarQuitarAntes

Como veis parto de una situación standard de Visual Studio 2015: SDK y Tools en preview, además de un runtime de .NET 1.0.x .

Empezamos descargando el SDK desde la página de descargas oficial ( https://www.microsoft.com/net/download/core ) e instalándolo.

image

Una vez hecho, vamos a ver de nuevo como ha quedado el sistema, consultando:

  • La versión del runtime de .NET Core, ejecutando el comando dotnet.
  • La versión del CLI, con dotnet --version. 
  • La versión del SDK (que debería ser la misma que la del CLI), con dotnet --info. 


image
       Aquí vemos que ha habido cambios en el comando dotnet: ya no vemos el runtime ejecutando dotnet. Si vamos a la ayuda, vemos lo siguiente:
  • dotnet --version nos da la versión del SDK
  • dotnet --info nos da información general de .net Core, incluyendo la versión de CLI (que debe coincidir con el SDK) y el runtime

image

Ahora vamos a compilar, nos ubicamos en un proyecto tipo Visual Studio 2015 (project.json) y ejecutamos dotnet.build.
Es importante fijarnos que no tengamos un fichero project.json que nos cambie el SDK a usar, de momento queremos usar el último SDK que acabamos de instalar

La primera en la frente, tenemos un error.

image

Estamos en la misma situación de la entrada anterior (http://www.serginet.com/2017/08/core-vs): se ha eliminado el soporte a proyectos tipo project.json, por lo que si queremos compilar necesitamos usar un SDK “viejo”. Ahora es el momento de hacer uso de nuestro fichero global.json.
Ubicamos el fichero una carpeta por encima de la carpeta donde está en project.json, con el siguiente contenido:

image

y compilamos y ejecutamos sin problema.

image

Ahora estamos ejecutando una aplicación .Net Core 1.0 con un runtime 2.0, vemos el runtime ejecutando dotnet --info

image

Me sigue sorprendiendo ver una “mezcla” curiosa: el último runtime 2.0 side by side con un SDK antiguo, versión preview anterior a 1.0

Actualizando a .Net Core 2.0


Vamos a actualizar a 2.0, modificando directamente el fichero project.json para dejarlo así:

image

Para compilarlo, nos basta con dotnet restore seguido de dotnet build, y sin eliminar nuestro fichero global.json, ya que seguimos necesitando el SDK viejo que nos da compatibilidad con project.json


image


Y vemos que… ¡compila bien, sin problemas!  Hemos compilado una aplicación con target .Net Core 2.0 con un SDK compatible con Visual Studio 2015  ya que sigue usando project.json

Reto conseguido! A disfrutarlo!

No hay comentarios:

Publicar un comentario