c# visual-studio .net-core .net-core-2.2

c# - El.NET SDK actual no admite la orientación a.NET Core 2.2.(SDK 2.2.202)



visual-studio .net-core (5)

Otro de esos muchos problemas similares, pero ninguna de las soluciones buscadas, ayudó (vea más abajo cuáles son las que se analizan).

En el momento de escribir esto, .NET Core v2.2 está fuera de vista previa, la última versión es v2.2.202 (fecha de lanzamiento, 02-04-2019).

Instalé ese a través de "Instalar otros marcos", instalé el x64, todas las demás versiones que instalé anteriormente también son esa versión.

Después de la instalación, cuando creo un nuevo proyecto, aparece:

Pero cuando abro las propiedades, no lo hace:

dotnet --info dentro del directorio del proyecto, da el siguiente resultado:

.NET Core SDK (reflecting any global.json): Version: 2.2.202 Commit: 8a7ff6789d Runtime Environment: OS Name: Windows OS Version: 10.0.17134 OS Platform: Windows RID: win10-x64 Base Path: C:/Program Files/dotnet/sdk/2.2.202/ Host (useful for support): Version: 2.2.3 Commit: 6b8ad509b6 .NET Core SDKs installed: 2.1.2 [C:/Program Files/dotnet/sdk] 2.1.4 [C:/Program Files/dotnet/sdk] 2.1.201 [C:/Program Files/dotnet/sdk] 2.1.202 [C:/Program Files/dotnet/sdk] 2.1.401 [C:/Program Files/dotnet/sdk] 2.1.505 [C:/Program Files/dotnet/sdk] 2.2.202 [C:/Program Files/dotnet/sdk] .NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.2 [C:/Program Files/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.1.9 [C:/Program Files/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.2.3 [C:/Program Files/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.2 [C:/Program Files/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.1.9 [C:/Program Files/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.2.3 [C:/Program Files/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.0.3 [C:/Program Files/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.5 [C:/Program Files/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.7 [C:/Program Files/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.9 [C:/Program Files/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.3-servicing-26724-03 [C:/Program Files/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.9 [C:/Program Files/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.2.3 [C:/Program Files/dotnet/shared/Microsoft.NETCore.App] To install additional .NET Core runtimes or SDKs: https://aka.ms/dotnet-download

Yo he tratado:

  • Cree un global.json ( respuesta SO ), esto solo produjo más errores, ya que no pudo cargar el proyecto que está apuntando a v2.2
  • Habilitar los SDK de vista previa dentro de la configuración ( respuesta SO )
  • He intentado instalar la versión x86, pero eso también dio más errores, ya que estaba confundido acerca de cuál utilizar ahora. Así que eso comenzó a quejarse de que .NET Standard no estaba instalado.
  • He actualizado Visual Studio y Visual Studio Build Tools a las últimas versiones, que es 15.9.11 (fecha de lanzamiento, 02-04-2019)
  • Cuando construyo a través de la línea de comando dotnet build en el directorio de soluciones, se compila correctamente, por lo que debe ser una cosa de estudio visual.
  • se verificó que solo C:/Program Files/dotnet/ está en las Variables de entorno, por lo que C:/Program Files (x86)/dotnet/ no está presente.
  • Miré estas opciones , las hice todas pero no configuré la variable de entorno MSBuildSDKsPath , ya que tengo otros proyectos que también necesitan 2.1. Verifiqué que actualmente no hay MSBuildSDKsPath conjunto de MSBuildSDKsPath por lo que no debería ser forzado a esa versión.

Por supuesto, todos los intentos anteriores implican reiniciar la computadora o reiniciar VS.


La instalación de dotnet-sdk-2.2.103-win-x64 solucionó el problema


Lo más probable es que parezca una optimización del instalador para VS que elimina los SDK antiguos por ser demasiado codiciosos y elimina las versiones en las que se basan las versiones VS anteriores, pero en este momento es más una hipótesis mientras los equipos de MS están investigando. Consulte este tema de GitHub para obtener más informes similares.

Las versiones 2.2.1xx SDK (!) Usan MSBuild 15 y las 2.2.2xx usan MSBuild 16.

VS 2017 debe resolver una versión local que sea compatible con MSBuild 15, por lo que si se elimina 2.2.1xx durante una actualización, esto puede fallar.

Puede arreglar esto volviendo a instalar una versión compatible, por ejemplo, 2.2.105, desde https://dotnet.microsoft.com/download/dotnet-core/2.2

Para saber qué SDK usa qué componentes, puede consultar el archivo DependencyVersions.props en las fuentes <3.0 y en el archivo Versions.props para obtener fuentes de => 3.0 (vista previa): la versión de MSBuild se establece a través de la propiedad MicrosoftBuildPackageVersion .


Pff, después de más y más excavaciones, intenté instalar una versión anterior de .NET Core 2.2. Instalé SDK v2.2.100 (primera versión estable). Eso pareció funcionar para que Visual Studio no mostrara más el error. Por lo tanto, a pesar de que Visaul Studio V15.9.11 y .NET Core SDK v2.2.202 se lanzaron en la misma fecha (y, por lo tanto, suponiendo que se lanzan juntos), aún da errores al no haber instalado versiones anteriores del SDK v2.2.x



Agregando la respuesta de @ martin-ullrich desde https://github.com/aspnet/AspNetCore.Docs/issues/11844 , porque tenía más sentido para mí. (Tal vez porque es viernes, y solo necesitaba: "Vaya aquí y haga esto").

Vaya a https://dotnet.microsoft.com/download/dotnet-core/2.2 y descargue el instalador para la versión 2.2.105. Cualquier cosa> = 2.2.200 no funcionará en VS 2017. Tanto 2.2.105 como 2.2.202 contienen la última y mejor versión de .NET Core 2.2, pero difieren en la versión de las herramientas que incluyen y se basan en: el tren 1xx es MSBuild 15., NuGet 4. etc. y el tren 2xx es MSBuild 16., NuGet 5. y así sucesivamente, y Visual Studio solo busca la última versión compatible con su versión de MSBuild. Para VS 2017, esta es la versión 2.1.502. que no puede apuntar a .NET Core 2.2. (Y para agregar más confusión, ahora hay versiones 2.1.6xx con versiones de la herramienta VS 2019 junto con el tiempo de ejecución .NET Core 2.1)

[@] leecow y [@] rowanmiller están trabajando para actualizar esa página con respecto a VS, también vea dotnet / core # 2542 y dotnet / sdk # 3076, que son sobre el mismo problema.

Mi contribución: Después de instalar 2.2.105, eliminé la (s) carpeta (s) titulada ''2.2.202'' en el directorio C:/Program Files (x86)/dotnet/sdk y / o C:/Program Files/dotnet/sdk para que dotnet --info ahora lee lo siguiente: