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.
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
- ¿Qué dice Windows que tenemos instalado? Miramos a Agregar/Quitar programas, y reconfirmamos que no hay nada más instalado.
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.
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.
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
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.
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:
y compilamos y ejecutamos sin problema.
Ahora estamos ejecutando una aplicación .Net Core 1.0 con un runtime 2.0, vemos el runtime ejecutando dotnet --info
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í:
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
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