han intentado actualizar a la versión profesional de Visual Studio 2017 v 15.6.0 (Vista previa 7.0)
e instaló aspnetcore-runtime-2.1.0-preview1-final-win-x64 y .net core SDK 2.1.4.
Cuando creé una nueva aplicación web, aparece un error que dice
"El SDK de .NET actual no admite la segmentación de .NET Core 2.1. Apunte a .NET Core 2.0 o una versión anterior, o use una versión del SDK de .NET que admita .NET Core 2.1".
Cuando intento construir un proyecto existente, aparece un error
"El SDK de .NET actual no admite la segmentación de .NET Core 2.1. Apunte a .NET Core 2.0 o una versión anterior, o use una versión del SDK de .NET que admita .NET Core 2.1".
No veo ".net core 2.1" en mi marco de destino
No tengo el archivo global.json en mi computadora
Cuando intento dotnet --info, obtengo esto
c: \ source \ dnacloud \ testapp> dotnet --info .NET Command Line Tools (2.1.100)
Product Information: Version: 2.1.100 Commit SHA-1 hash: b9e74c6 Runtime Environment: OS Name: Windows OS Version: 10.0.16299 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\2.1.100\ Microsoft .NET Core Shared Framework Host Version : 2.0.5 Build : 17373eb129b3b05aa18ece963f8795d65ef8ea54
Respuestas:
El problema aquí es que Microsoft confundió a mucha gente con la forma en que numeraron sus SDK de .NET Core.
En el mensaje del póster original, la ruta C: \ Archivos de programa \ dotnet \ sdk \ 2.1.100 \ NO parece representar el tiempo de ejecución de .NET Core 2.1 (pero pensaría que sí).
Me encontré con esta publicación El SDK de .NET actual no admite la orientación a .NET Core 2.1 en developercommunity.visualstudio.com donde una persona de soporte de Microsoft explica la confusión:
Entonces ... para obtener soporte de .NET Core 2.1 para compilar a través del SDK, necesita instalar el SDK con la versión 2.1.300 al menos (ya que 2.1.2 NO es .NET Core 2.1) ... sí, confuso. Gracias Microsoft por el tiempo perdido en esto.
fuente
Esto me sucedió después de instalar 2.2.100-preview3-009430 y luego actualizar a Visual Studio 15.9.2.
Lo resolví habilitando la opción "Usar vistas previas de .NET Core SDK".
Vaya a: Herramientas> Opciones> Proyectos y soluciones> .NET Core
Marque la casilla "Usar vistas previas del SDK de .NET Core"
Reinicie Visual Studio y reconstruya la solución.
Opciones de vista previa de VS
fuente
Instalando
.NET Core SDK 2.1.300-preview2
hizo el truco para mí:ACTUALIZACIÓN: por si acaso, hay una versión más nueva que se ha lanzado recientemente. Puede descargar el nuevo SDK de .NET Core para 2.2.0-preview1 (que incluye ASP.NET 2.2.0-preview1) aquí .
Consulte también esta respuesta cuando reciba un error como este en general:
fuente
Resolví el problema. la causa fue que instalé
aspnetcore-runtime-2.1.0-preview1-final-win-x64
y.net core SDK 2.1.4-x64
Versionesc:\Program Files\dotnet
c:\Program Files(x86)\dotnet
.Para resolver esto yo
instaló la versión x86 del tiempo de ejecución sdk y aspnetcore,
establezca la variable de entorno MSBuildSDKsPath para que apunte a la nueva ruta de instalación.
eliminó todos los sdks obsoletos del panel de control
La pregunta VS2017 Update 3 'Microsoft.NET.Sdk.Web' no se pudo encontrar y ayudó a resolver este problema.
fuente
https://www.microsoft.com/net/download/visual-studio-sdks
Puede descargar el SDK desde el sitio anterior
verifique el SDK que se encuentra en la ruta de su máquina C: \ Archivos de programa \ dotnet \ sdk
Cambie o verifique el marco de destino en Visual Studio,
Haga clic con el botón derecho en Aplicación de inicio o proyecto => Aplicación => Marco de destino.
Puede cambiar el marco y crear la solución y restaurar los paquetes de nugget.
fuente
Lo mismo me pasó a mí, pero luego para la versión 2.2 de .NET Core. Instalé la última versión de .NET Core 2.2 SDK, que era 2.2.202 en ese momento. Visual Studio me permitió crear un nuevo proyecto para Core 2.2, pero mostraba el error:
El marco de destino de mi proyecto estaba vacío y el menú desplegable no mostraba 2.2.
Después de instalar .NET Core SDK 2.2.103, el error desapareció y el menú desplegable mostró ".NET Core 2.2".
fuente
Detener IIS para publicar resolvió el problema. Pero primero necesitaba instalar net core 2.1 SDK y actualizar Visual Studio.
fuente
Tenía instalado .Net Core SDK 2.1.4 y seguí las otras respuestas en esta publicación sin resolver mi problema. Lo que finalmente hizo por mí fue instalar .Net Core SDK versión 2.1.301 y desinstalar todas las demás versiones. Parece que el SDK 2.1.4 no puede apuntar a .Net Core 2.1, pero el SDK 2.1.301 hace el trabajo.
fuente
Verifique que no tenga un
global.json
archivo en la carpeta raíz de su proyecto que obligue a su proyecto a usar solo .NET SDK 2.1.Si tiene este archivo global.json, elimínelo y luego reinicie Visual Studio.
Por vergonzoso que parezca, pasé casi una hora retocando e incluso descargué varias versiones del SDK para obligarlo a usar la 2.2.
fuente
También resolví el problema de esta manera:
Verifique las versiones disponibles en dotnet sdk
C:\Users\me>dotnet --list-sdks ##2.1.202 [C:\Program Files\dotnet\sdk] ##2.1.505 [C:\Program Files\dotnet\sdk] ##2.1.508 [C:\Program Files\dotnet\sdk] ##2.1.509 [C:\Program Files\dotnet\sdk] ##2.1.511 [C:\Program Files\dotnet\sdk] ##2.1.514 [C:\Program Files\dotnet\sdk] ##2.1.801 [C:\Program Files\dotnet\sdk]
Probé mi compilación en todas esas versiones y no funciona hasta que desinstale todo lo anterior de Programas y características. Luego, descargue de la última versión:
https://dotnet.microsoft.com/download/dotnet-core/thank-you/sdk-3.1.300-windows-x64-installer
Esto funcionó. No pierda el tiempo como si acabara de instalar la última versión de dotnet sdk y listo. "
fuente
Estoy usando Rider, tenía
Tuve:
$ dotnet --list-sdks 2.1.2 [C:\Program Files\dotnet\sdk] 2.1.202 [C:\Program Files\dotnet\sdk] 2.1.505 [C:\Program Files\dotnet\sdk] 2.1.602 [C:\Program Files\dotnet\sdk] 2.2.202 [C:\Program Files\dotnet\sdk]
Intenté mantener solo el último sdk y tuve:
Así que eliminé todo y reinstalé 2.1.602. Hizo un nuevo proyecto de Rider. Y funcionó . No puedo decir que entendí cómo lo resolví ...
Los problemas para algunas personas parecen estar vinculados a global.json, consulte:
- https://docs.microsoft.com/fr-fr/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs= estudio-visual
- https://docs.microsoft.com/fr-fr/dotnet/core/tools/global-json
- https://andrewlock.net/the-sdk-microsoft-net-sdk-web-specified- no pudo ser encontrado/
Otras cosas que hice antes (que no parecieron resolver el problema pero podrían haber ayudado):
- Actualización de Rider de 2018.3.2 a 2018.3.4 (más reciente). - Instalando Mono (estaba usando el de Unity cuando miraba en la configuración de compilación de Rider).
- Intenté usar MSBuild personalizado de Jetbrain (el que se usa para Linux) sin éxito.
- Instalando todo lo relacionado con .NET Core desde el instalador VS.
- Actualización de la comunidad VS más reciente. - Reiniciar.
En
Rider/Build, Execution, Deployement/Toolset and Build
ahora tengo:Mono ejecutable:
C:\Program Files\Mono\bin\mono.exe
- NET Core CLI ejecutable:
C:\Program Files\dotnet\dotnet.exe
- Use la versión de MS Build (Auto detectado 16.0):
C:\Program - Files\dotnet\sdk\2.1.602\MSBuild.dll
fuente
Comencé a recibir este error después de instalar SDK 2.2.300. Después de leer esta publicación y algunas otras, la bajé a SDK 2.2.1xx y el error desapareció. Nota: tuve que desinstalar SDK 2.2.300 y reiniciar después de instalar SDK 2.2.1xx.
fuente
Tuve este problema e hice una nueva instalación de VS2017. ¡Eso lo arregló!
fuente
Ve a tu canalización. Haga clic en Editar canalización. Haga clic en el menú desplegable Especificación del agente. Cámbielo a Windows 2019. Haga clic en Guardar y poner en cola.
Y aquí tienes. Funcionó bien para mí.
fuente
Parece que Microsoft está fomentando una mejor práctica de codificación para aquellos primeros en adoptar el software de desarrollo más reciente en Net Core 2.1 al eliminar la capacidad de usar software más antiguo donde prevalecen los malos hábitos. Net Core 2.0 y las versiones anteriores están casi al final de su vida útil, por lo que no deberían usarse en absoluto. ( https://blogs.msdn.microsoft.com/dotnet/2018/06/20/net-core-2-0-will-reach-end-of-life-on-september-1-2018/ )
1) Microsoft ha eliminado ServiceLocator ya que se considera ampliamente un anti-patrón que resulta en código difícil de entender.
2) Para mejorar las aplicaciones MVC, el AccountController fue eliminado de Autenticación / Autorización para fomentar el uso de páginas de Razor que implementan el Principio de Responsabilidad Única.
No se consideraría una buena práctica eludir estos cambios para aumentar la perpetuación del software creado para estándares de ingeniería de software más bajos en el pasado.
fuente