El archivo del proyecto está incompleto. Faltan las importaciones esperadas


94

Después de formatear mi computadora, reinstalé Vs 2017 V 15.6.3 e instalé ASP.Net Core SDK de Microsoft 2.1.4

Pero cuando creo una nueva aplicación asp core VS falló con un error

"El archivo del proyecto está incompleto. Faltan las importaciones esperadas"

Por favor, ¿alguien puede ayudar?

Error después al crear la aplicación principal ASP


¿Cómo "instaló ASP.Net Core SDK de Microsoft 2.1.4"? ¿Utiliza el instalador de Visual Studio o algún otro proceso?
Neil

¿Puedes publicar tu archivo de proyecto?
Francesco B.

1
He utilizado este enlace para configurar .net core sdk microsoft.com/net/download/thank-you/…
Majd Albaho

4
Esta respuesta me ayudó a stackoverflow.com/a/55529011/342113 . Actualmente, resulta que los SDK 2.2.1xx son compatibles con VS.NET 2017, pero los SDK 2.2.2XX no lo son.
rsbarro

1
@rsbarro ¡Exacto! El mismo problema aqui. Por lo tanto, lo publiqué como respuesta .
Steven Jeuris

Respuestas:


18

Resuelto

  1. Incluso después de desinstalar cierta versión del panel de control, los archivos y carpetas con la versión eliminada se encuentran en C: \ Archivos de programa \ dotnet \ sdk

  2. Ve y elimina la carpeta de la versión no deseada.

  3. Intenta volver a cargar el proyecto

Esto funcionó para mi


68

Tuve el mismo problema. En mi caso, eliminar global.json y appsettings resolvió el problema.


9
Esto funcionó para mí, aunque para aclarar solo tuve que eliminar (/ renombrar) "global.json". Fwiw: Contenía: {"sdk": {"version": "2.0.0"}}
ubienewbie

2
En mi caso, me faltaba la instalación de .NetCore versión 2.0.0 en mi máquina y se mencionó en global.json. Así que lo instalé y funcionó bien.
Muhammad Umar

3
dotnet --versionmuestra 2.1.201, mientras que global.json mencionó una versión ligeramente inferior, 2.1.101. Aparentemente, la versión tiene que coincidir exactamente para que funcione, sin compatibilidad con versiones anteriores. O simplemente elimine el archivo como se sugiere en esta respuesta.
GolezTrol

7
eliminar solo global.json fue suficiente para mí. La configuración de la aplicación puede permanecer en su lugar
Wouter Janssens

11
Sería bueno decirle a la (s) carpeta (s) de global.json y appsettings en esta respuesta.
fernacolo

34

Otra posible causa es que instaló una versión de .NET Core que es incompatible con Visual Studio . Esto podría no estar relacionado con la pregunta original del OP, ya que se trata de diferentes números de versión, pero como llegué a esta página mientras buscaba ayuda, pensé que esto podría ser útil para otros.

En el momento de escribir este artículo, instalé .NET Core 2.2.203, que no es compatible con Visual Studio 2017 (Professional 15.9.11).

La página de descarga de .NET Core enumera una descarga separada para Visual Studio 2017. Asegúrese de descargar esta cuando desee usar Visual Studio 2017. La versión compatible actual es .NET Core 2.2.106 .


Curiosamente, en mi aplicación tengo una aplicación N-Tier (UI, BLL y DAL). El proyecto BLL se cargó bien con esta versión de .NET Core. +1
Dave

9
Me salvaste después de horas de cabezazos. Microsoft debería haberlo hecho más obvio que una (Compatible with Visual Studio 2017)etiqueta de apariencia benigna . Debería ser TODO MAYÚSCULAS Y JODER GRANDE ROJO, por el amor de Dios.
Angel Yordanov

¡Muchas gracias! ¡Esto funciona! SDK 2.2.105 solo funciona con Visual Studio 15.9.8 o versiones anteriores.
hubert17

la actualización de la comunidad VS 2017 a la versión 15.9.12 resolvió el problema en mi caso
GoldenAge

23

Puede verificar el archivo global.json que puede encontrar en el directorio raíz de la solución y asegurarse de que la versión de SDK de destino esté instalada en su máquina o actualizarla a una que ya tenga instalada, por ejemplo, si tiene la versión 2.1.4 de SDK instalada su global.json debería verse así

{
  "sdk":
  {
    "version": "2.1.400"
  }
}   

1
Esto fue todo para mí. Versión "2.1.300" en global.json, pero 2.1.200& 2.1.403instalado; el cambio a 2.1.400 funcionó.
Pasi Savolainen

3
Trabajó tanto para cambiarlo a una de las versiones instaladas de SDK como para eliminar el versionatributo por completo
Salaros

2
Me funcionó a mi también. Cambié la versión para que coincida con la más cercana a la que ya tenía en mi sistema. Puede ejecutar "dotnet --versions" para ver lo que ha instalado.
daudihus

2
dotnet --list-sdksy dotnet --list-runtimespara ver todo lo que ha instalado dotnet --versionle mostrará la versión actual en uso.
nathanchere

1
Esta también fue la solución para nosotros. En nuestro caso, tuvimos algunos proyectos en VS2017 con netcore 2.1; instalamos netcore 3 y ya no pudimos abrir los proyectos. Crear global.json en la carpeta raíz del proyecto resolvió el problema
Jack Casas

19

La reparación de la última instalación de Core funcionó para mí


1
Tuve que reiniciar también, pero esto me solucionó.
DTown

2
Para las personas que buscan "cómo" reparar .NET Framework (también funciona para Core), busque ".NET Framework Repair Tool" en su motor de búsqueda favorito. Ejecutar solo el primer paso lo solucionó para mí.
KSwift87

2
también W10 Contol Panel - Programas - Programas y características seleccione instalación y reparación
Uzay

15

En mi caso, tenía dos versiones de Visual Studio instaladas (15.7 y 15.6). 15.7 no tenía las cargas de trabajo web instaladas, aunque .net core 2.1 RC1 ya estaba instalado. Instalé la carga de trabajo de asp.net en VS2017, y luego reparé mi instalación principal de .net en buena medida. Definitivamente algo en este proceso cambió mi c: \ archivos de programa (x86) \ dotnet yc "\ archivos de programa \ dotnet en esta ruta y Visual Studio (15.7) no abriría mi proyecto web.

Simplemente edité las variables del entorno del sistema, moví la carpeta x86 hacia abajo y listo, volví a abrir Visual Studio y ahora cargó mi proyecto. Variables de entorno del sistema


3
En mi caso, c: \ Program Files \ dotnet \ se eliminó de mis PATHs
micahtan

1
ahhhhhh tanto tiempo perdido en esto, esta fue la respuesta para mí. ¡GRACIAS!
spalt

NET4.7.1 instalado, luego todos los proyectos Net.Core existentes se arruinaron. La magia de "Bajar" los arregló.
Yury Schkatula

13

Eh, error de novato, tenía abierto Visual Studio SSDT y estaba tratando de abrir un proyecto .Net Core existente que produce el mismo error:

"El archivo del proyecto está incompleto. Faltan las importaciones esperadas"

La solución fue utilizar Visual Studio, no SSDT , consulte Ayuda> Acerca de:

ingrese la descripción de la imagen aquí


1
Después de horas de confusión sobre el control de versiones del núcleo de .net, esta fue la solución real para mí. Y para mí, SSDT se había convertido en el predeterminado al abrir un archivo de solución desde una carpeta, así que también lo arreglé. ¡Gracias!
Alex

9

He resuelto este problema un par de veces últimamente cerrando Visual Studio y ejecutando los siguientes comandos

  1. dotnet nuget locales -c todos
  2. dotnet limpio
  3. compilación de dotnet

Parece haber momentos, especialmente al comienzo de los proyectos, en los que nuget se sale de control (término técnico).


9

Después de instalar VS2019 comencé a tener el mismo error al abrir las soluciones .Net Core existentes en VS2017.
En Visual Studio Installer , actualicé VS2017 a la última versión (15.9.11) y el problema desapareció.

Más tarde, después de actualizar VS2019 a la última versión, comencé a tener los mismos errores y tuve que actualizar VS2017 nuevamente.


8

Resolví este problema modificando la primera línea en el archivo .csproj de:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

a:

<Project Sdk="Microsoft.NET.Sdk">

5

Comencé a recibir este error cuando desinstalé todos mis SDK de .NET Core antiguos e instalé el último, 2.1.5 en el momento de la publicación. Probé todas las soluciones aquí sin suerte, así que decidí verificar cuál es la versión actual del SDK después de toda la limpieza que hice porque pensé que esto estaba causando el problema, y ​​tenía razón: comencé un símbolo del sistema y escribí dotnet --versiony recibí el mensaje "¿Quería ejecutar los comandos de dotnet SDK? Instale dotnet SDK desde:". Extraño, el SDK está instalado pero el sistema no lo ve. Luego miré en mis variables de entorno y la variable PATH tenía la ruta x86 para dotnet antes de la ruta regular de Archivos de programa (la x64). Así que moví el x64 antes que el x86 y listo, todo ha vuelto a la normalidad.

Espero haber ayudado a alguien.


Me ayudaste. Esto acaba de suceder cuando actualicé de 2.2.3 a 2.2.4. Me pregunto si hay un orden específico de instalación nuevo / desinstalación antiguo que hace que suceda.
MattOG

@MattOG, he probado numerosas variantes para instalar / desinstalar, pero este problema ocurre siempre. Supongo que tendremos que acostumbrarnos a eso;) No es un problema después de todo cuando tenemos una fuente como stackoverflow.
Ivaylo Dimitrov


4

Tengo el mismo problema. No pude crear un nuevo ASP .Net Core 2 en VS2017 recién instalado o abrir uno existente, que funciona perfectamente en otra computadora con VS2017.

Comenzó a funcionar para mí después de desinstalar todos los tiempos de ejecución de .NET Core y .NET Core Windows Server Hosting de Windows. Los SDK se han dejado solo y todo funciona finalmente. ingrese la descripción de la imagen aquí

Probablemente, necesitaba desinstalar solo .NET Core Runtimes o .NET Core Windows Server Hosting de Windows y sería suficiente.


Nunca tuve ASP Core 2 SDK instalado en mi máquina, el problema sigue presente incluso después de una instalación nueva
alexlomba87

Trabajó para mi. Después de desinstalar Core Windows Server Hosting. sin reinicio de VS. Acabo de recargar los proyectos.
profimedica


3

Tuve los mismos síntomas de un SDK de dotnet core dañado (desde la línea de comando no pude ejecutar dotnet -v, donde antes podía). Mi proyecto no se pudo cargar después de una falla en la instalación de la plataforma web IIS. La reinstalación de .NET core SDK resolvió el problema.


3

Tuve el mismo problema. Me tomó un rato callarme para entenderlo. En mi caso, estaba tratando de abrir una nueva aplicación ASP .NET Core y estaba recuperando 0 proyectos como el de esta publicación.

Lo que probé: intenté cambiar las variables ambientales en Panel de control \ Sistema y seguridad \ Sistema (haga clic en configuración avanzada)

ingrese la descripción de la imagen aquí

Luego haga clic en Variables ambientales

ingrese la descripción de la imagen aquí

Luego, verifique si tiene la ruta de dotnet incluida, ya sea en Archivos de programa o Archivos de programa (x86) ingrese la descripción de la imagen aquí

Algunas personas sugirieron mover (x86) hacia arriba, que se basa en la documentación de microsoft

Lo que solucionó mi problema: resulta que tenía instalada la versión incorrecta y no era compatible con Visual Studio 2017 ingrese la descripción de la imagen aquí

Luego eliminé las otras instalaciones y reinstalé la versión correcta que es compatible con VS17 y funciona como una magia. Espero que ayude a alguien en el futuro.


1
Esto fue una parte de lo que funcionó para mí. Todos los demás SDK en mi máquina eran de 64 bits (y, por lo tanto, en "Archivos de programa"). Tuve que instalar el último Core para VS 2017 - 2.2.110 como la versión x86. Esto entra en el árbol "Archivos de programa (x86)". Eliminé las declaraciones PATH previamente agregadas a la carpeta normal "Archivos de programa" y las reemplacé con "Archivos de programa (x86)" y ¡funciona de nuevo!
Grandizer

¡Esto me ayudó! Desinstalé un montón de sdk que Windows 10 Insider Preview me instaló automáticamente y eliminé accidentalmente el que necesitaba VS 2017. ¡Gracias!
Jeff LaFay

2

en mi caso, fui a la carpeta C: \ Archivos de programa \ dotnet \ sdk borré la carpeta sdk de vista previa, luego en la línea de comando ejecutar:

dotnet sdk 2.1.200

para configurar la versión correcta de sdk para asp.net core. esto solucionó el problema.


1

Gracias chicos, reinstalé la versión anterior de Visual Studio 2017 y funciona bien. Mi versión VS es 15.4 y está bien


7
Versión 15.6.7 aquí, y el problema sigue presente. No marcaría esto como una respuesta aceptada, ya que en realidad no es una solución para las últimas versiones de VS.
alexlomba87


1

Esto me sucedió cuando desinstalé una instancia VS2015 de Visual Studio que tenía ejecutándose junto con VS2017.

Tuve que salir y reinstalar el .Net Core sdk / runtime con la versión x86. Ya había hecho manualmente las versiones x64 de estos, pero no pensé en Visual Studio ejecutándose en 32 bits.

Estos son los archivos:

  • dotnet-sdk-xxx-win-x86.exe

  • DotNetCore.xxx-WindowsHosting.exe


1

Estaba enfrentando el mismo problema. Estaba ejecutando mi proyecto en .Net core 2.2. Probé todas las soluciones que se dan aquí, pero nada funcionó. Reparé mi estudio visual y ahora funciona bien.


1

Tuve el mismo mensaje de error. En mi caso. Tuve que instalar el conjunto de herramientas de desarrollo multiplataforma de .NET Core .

Pasos:

  1. En Visual Studio, vaya a Herramientas> Obtener herramientas y características ...
  2. Modifique la instalación en Cargas de trabajo: seleccione Desarrollo multiplataforma de .NET Core y haga clic en Modificar.
  3. Reinicie VS y reconstruya su proyecto.

1

Lo resolví actualizando Visual Studio a la versión 2017.

El problema real era que la versión principal de .net era posterior a Visual Studio.

Vaya a Ayuda> Buscar actualizaciones, actualice Visual Studio.


0

Tuve el mismo problema con un proyecto ASP.net Core 2.0 después de instalar DotNetCore.2.0.5-WindowsHosting Framework en mi máquina de desarrollo. Podría resolver este problema después de haber desinstalado WindowsHosting Framework y todos los paquetes .net Core. Después de esto, reinstalé el paquete dotnet-sdk-2.1.200-win-x64 y todo funcionó bien.


0

Eliminar las carpetas bin y obj para el proyecto solucionó esto para mí.


0

El mismo problema ... me tomó un tiempo averiguarlo. Como estaba trabajando en un proyecto de ASP.NET Core que tenía como objetivo .NET Core 1.1, pensé que todavía necesitaba el SDK de .NET Core 1.1 instalado. Como también tenía instalado .NET Core SDK 2.1, hubo algún tipo de conflicto y no pude abrir el archivo del proyecto. Después de desinstalar .NET Core 1.1, pude abrir mi proyecto.


0

Ejecute dotnet restore en la línea de comandos para la solución.

Propina. Si ha desinstalado la última versión .net core, digamos 2.1.403 e instalado la anterior, asegúrese de que la carpeta 2.1.403 se haya eliminado realmente en la ruta

C: \ Archivos de programa \ dotnet \ sdk \

Tuve el problema debido a que había dejado una carpeta vacía con 2.1.403


0

Elimine todas las carpetas bin y obj generadas por la compilación . Esto funcionó para mí después de cambiar el nombre del proyecto e intentar volver a cargar la solución. No estoy seguro de la causa real de la carga incompatible.


0

Tengo el mismo problema y vuelvo a ejecutar Visual con privilegios de administrador. Esto me ayuda a abrir el proyecto normalmente.


0

Resulta que mi proyecto dependía de otro proyecto en la solución, que había fallado en los problemas de dependencia de NuGet, lo que a su vez se debía a que Target Framework en las propiedades del proyecto estaba en blanco.

Abrí el .csprojarchivo para verificar el marco de destino, descargué el marco de destino y elegí "reparar", luego reinicié Visual Studio y ¡todo bien nuevamente!


0

Acabo de tener el mismo problema al instalar la nueva versión de vista previa de VS 2019. Lo solucioné desinstalando la última actualización que a su vez desinstaló la versión descargada más reciente del núcleo. Lo que creo que causó la falta de coincidencia.


0

Solo necesita verificar la versión de la biblioteca central .net de creación de su proyecto con una actualizada.Cuando actualice la biblioteca central, no se actualizará a .csproj, o debe actualizarlo manualmente o debe eliminar el archivo sdk central más reciente / actualizado.

Para verificar .net core version --fire command en cmd: - dotnet --version

Luego verifique con la biblioteca instalada en Programa y características: la eliminación de la última biblioteca resuelve el problema sin cambiar una sola línea

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.