La instalación de Visual Studio 2017 rompe los proyectos de ASP.NET Core de Visual Studio 2015

94

Después de instalar Visual Studio 2017 Professional, ya no puedo compilar mi ASP.NET Core en Visual Studio 2015 Professional. Nunca abrí este proyecto en VS2017

yo obtengo

Se produjo el siguiente error al intentar ejecutar el proceso del servidor del modelo del proyecto (1.0.0-preview3-004056).

No se pudo iniciar el proceso. No se encontró ningún ejecutable que coincida con el comando dotnet-projectmodel-server

ingrese la descripción de la imagen aquí

Luego creé un nuevo proyecto ASP.NET Core en Visual Studio 2015 y recibo exactamente el mismo mensaje al cargar mi proyecto.

Además, cuando quiero construir el proyecto, obtengo

MSB1009: El archivo de proyecto no existe.

ingrese la descripción de la imagen aquí

El mismo problema no ocurre con los proyectos ASP.NET 5, por lo que solo se limita a ASP.NET Core


Visual Studio 2017, actualización del 7 de marzo

Si se agrega global.json como en las respuestas a continuación, aparece un mensaje de error para cualquier versión de .net framework utilizada en global.jsony que existe en la C:\Program Files\dotnet\sdk\carpeta

Error MSB4019 No se encontró el proyecto importado "C: \ Archivos de programa \ dotnet \ sdk \ XXX \ Microsoft \ VisualStudio \ v14.0 \ DotNet \ Microsoft.DotNet.Props". Confirme que la ruta en la declaración sea correcta y que el archivo exista en el disco.

Además, al cerrar Visual Studio y volver a abrirlo, aparece el mensaje de error original

dfmetro
fuente
2
Visual Studio 2017 actualizó el SDK de .NET Core, que introdujo bastantes cambios, como el alejamiento de project.json y una serie de optimizaciones hacia el rendimiento mientras se trabajaba en Visual Studio. Este es un cambio radical en el propio núcleo de .NET.
jessehouwing
También instalé VS 2017 RC en mi máquina que tiene VS 2015 update 3 y obtuve exactamente el mismo error al intentar abrir una aplicación ASP.NET Core 1.0 existente en VS 2015. Este proyecto se abrió bien en VS 2015 antes de instalar VS 2017 RC y nunca intenté abrirlo con VS 2017 RC. Desinstalé VS 2017 RC y la aplicación ASP.NET Core 1.0 se abre bien y se compila ahora con VS 2015. Entonces, aparentemente, contrariamente a lo que dice Microsoft, no puede instalar VS 2017 RC en una máquina que tiene VS 2015 en eso. Al menos si desea abrir aplicaciones ASP.NET Core 1.0 creadas con VS 2015 en VS 2015.
Stephen Peterson
1
La publicación también está rota con la plantilla VS2017 ASP.NET Core RC predeterminada, por lo que le aconsejaría que se mantenga alejado hasta el RTM
dfmetro
2
Encontré una solución para su actualización del 7 de marzo con Microsoft.DotNet.Props faltante. Vaya a su C:\Program Files\dotnet\sdkcarpeta y busque la carpeta que se instaló justo antes de 1.0.0 (en mi caso 1.0.0-preview2-1-003177). Reemplace sdk / version con ese valor en su global.json. Entoncesdotnet restore
AngryHacker

Respuestas:

77

@ClaudioNunes y @MegaTron tienen la respuesta correcta . Después de leer esa respuesta, me di cuenta de que mi solución .NET Core no tenía un archivo global.json. Agregué una nueva carpeta de solución y agregué un archivo global.json. Dado que ninguno de mis proyectos está anidado en subcarpetas, solo tuve que eliminar "src" y "prueba" de la matriz de proyectos:

{
  "projects": [],
  "sdk": {
    "version": "1.0.0-preview2-003131"
  }
}

El proyecto ahora se abre correctamente en VS 2015 con VS 2017 RC instalado.

Stephen Peterson
fuente
Funcionó para mí gracias. @Luiz habría recibido la respuesta ya que fue el primero, pero su respuesta no fue detallada
dfmetro
Gracias. Estaba muy confundido después de actualizar a VS 2017 RC. Pero ahora funciona.
thangchung
2
Además, tuve que ejecutar dotnet restoreen cada proyecto, pero después de eso todo funcionó como se esperaba.
cel sharp
2
¿Cuál es esta nueva carpeta de soluciones de la que habla?
Mathieu K.
1
No funcionó con "version": "1.0.0"pero cuando lo intenté "version": "1.0.0-preview2-003131"funcionó .... Gracias por salvar vidas ...
Nisar
27

Una posible solución es agregar un archivo global.json a la solución y especificar la versión sdk que se utilizará como en

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "1.0.0-preview2-003131"
  }
}
Claudio Nunes
fuente
5

Vaya a Programas y recursos, use "Core" para filtrar y busque la instalación de Preview 3 ("Microsoft .NET Core 1.0.1 - SDK Preview 3 (x64)") y elimínelo.

NOTA: Ejecute dotnet --versionantes y después de eliminar este SDK. En mi caso los resultados en 1.0.0-preview3-004056(antes) y 1.0.0-preview2-1-003177(después).

Todavía no puedo ver los efectos secundarios en vs2017.

Luiz Carlos Faria
fuente
1
Esa es una forma de solucionarlo, sin embargo, puede agregar un archivo global.json a su solución (archivo de solución, no agregado a nivel de proyecto) especificando la versión principal a usar{ "projects" : [], "sdk":{ "version":"1.0.0-preview2-003121"}}
bougiefever
2

Eche un vistazo a este enlace: https://github.com/aspnet/Tooling/blob/master/known-issues-vs2017.md#known-issues-for-aspnet-core-support-in-visual-studio-2017

Si actualiza las herramientas para Visual Studio 2015 a la última versión, debería solucionar el problema. Tenga en cuenta que esta no es la actualización de Visual Studio 2015, sino ASP.NET Core y las herramientas.

Todd Miranda
fuente
No estoy seguro de qué tendría que ver la instalación de las últimas herramientas de ASP.NET Core 1.1 con la apertura de una aplicación ASP.NET Core 1.0 en VS 2015 y no hacer que funcione con VS 2017 RC instalado. Puedo ver si desea actualizar su aplicación ASP.NET Core 1.0 existente a 1.1, en VS 2015, pero la instalación de VS 2017 RC no debería tener nada que ver con el funcionamiento de VS 2015, especialmente con los proyectos de .NET Core creados en VS 2015
Stephen Peterson
0

La actualización del proyecto se ha mejorado de Visual Studio 2017 RC a Visual Studio 2017 RTM y está funcionando ahora.

Terminé abriendo mi solución Visual Studio 2015 ASP.NET Core en Visual Studio 2017 que actualizó cada proyecto en la solución. Luego actualicé los paquetes nuget y la solución funcionó sin efectos secundarios.

dfmetro
fuente