Los paquetes NuGet faltan

Busqué este problema pero ninguna de las soluciones funcionó. Tengo instalado Visual Studio Professional 2015 y estoy usando TFS. Mi versión NuGet es 3.1.6. Este problema solo está ocurriendo en mi proyecto C # Web API / MVC.

Estoy obteniendo el siguiente error:

Este proyecto hace referencia a paquetes NuGet que faltan en esta computadora. Use NuGet Package Restore para descargarlos. Para obtener más información, vea http://go.microsoft.com/fwlink/?LinkID=322105 . El archivo faltante es .. \ packages \ Microsoft.Net.Compilers.1.0.0 \ build \ Microsoft.Net.Compilers.props

  1. No tengo una carpeta .nuget en mis soluciones.
  2. Tengo una carpeta de paquetes en la solución y cuando la elimino, parece que NuGet reconstruye las dependencias pero el proyecto todavía tiene el error anterior.
  3. Intenté eliminar el proyecto de TFS y no lo solucionó.
  4. Junto con el error anterior, todas las referencias en el proyecto tienen signos de advertencia amarillos y dicen que faltan.
  5. Cuando revisé NuGet Package Manager para el proyecto, todo lo que “falta” tiene un tic verde junto a él, incluidos Microsoft.Net.Compilers.
  6. Traté de agregar un nuevo proyecto Web API / MVC y se enfrentó a un problema similar donde la mayoría de las referencias como Owin “faltaban” con el signo de advertencia amarillo.

Tuve el mismo error (falta exactamente el mismo paquete) hoy. También creé un proyecto MVC + Web API.

Sucedió porque moví los archivos de la aplicación (incluido el archivo .csproj) a otra ubicación. Actualicé manualmente el archivo .sln pero todas las dependencias de paquetes ahora (Visual Studio 2015) están almacenadas en el archivo .csproj.

La edición del archivo .csproj y la corrección de la ruta relativa a la carpeta de la solución (que contiene la carpeta de paquetes) resolvieron el problema por mí.

.csproj mi problema al eliminar este código del archivo .csproj :

   This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.    

Si tiene un paquete Nuget que falta al proporcionar su error al construir su solución, use el siguiente comando usando Nuget Command Console en Herramientas> Nuget Package Manager> Package Manager Console. Reinstalará todos sus paquetes actuales.

Update-Package -reinstall

ATENCIÓN: esto actualiza paquetes para toda la solución, no solo para el proyecto.

Tenía este mensaje frustrante exacto. Lo que finalmente funcionó para mí fue eliminar todos los archivos y carpetas dentro de / packages y dejar que VS recuperara todo en la próxima comstackción.

Tiberiu es correcto Tuve que editar mi archivo .csproj ya que los archivos se movieron y causaron este problema

   

Cambié en la parte superior del archivo y en la parte inferior

   

Resolví este problema eliminando el siguiente código del archivo .csproj

   This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.   

Una combinación de las 2 respuestas funcionó para mí. Primero modifiqué el archivo .csproj para eliminar la referencia a la versión 1.0.0

 < Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild" > ----Error--- < /Target> 

y luego lo hizo

 Update-Package -Reinstall 

desde el y funcionó.

Simplemente habilite NuGet Package Restore. Haga clic con el botón derecho en su solución> elija ‘Habilitar Restaurar paquete NuGet’.

Haga clic con el botón derecho en su solución/> elija ‘Habilitar Restaurar paquete NuGet'”> </p>
<p>  Esto creará la carpeta .nuget con el archivo NuGet.Config y solucionó mi problema. </p>
</div>
</li><!-- #comment-## -->
<div class=

Estoy usando VS2012 y estoy enfrentando el mismo error. Eliminé la siguiente etiqueta de destino del archivo .csproj y comenzó a comstackr sin ningún error.

  -- Error messages within Target Tag  

Para mí, el problema fue que cuando copié la solución en una nueva carpeta y la abrí, faltaba la carpeta Nuget como se muestra a continuación. Copié esta carpeta y todo funcionó. Nota: Esta misma carpeta estaba en nuestro control de fuente pero no en este proyecto de soluciones, estaba en un directorio.

enter image description here

Para ampliar algunas de las respuestas aquí, sí, podría eliminar el siguiente bloque de su archivo .csproj:

y esto soluciona el problema, sin embargo, en mi caso, noté que tenía referencias adicionales a .NET.Compilers y .CodeDom.Providers con diferentes versiones:

  

Cuando mi paquete.config solo hace referencia a lo siguiente:

  

La eliminación de los elementos 1.0.0 del archivo .csproj solucionó el problema.

Para cualquiera que tropiece aquí con el problema que tenía (algunos de los paquetes no se restauraron en un servidor de comstackción), la última pieza del rompecabezas para mí fue agregar NuGet.config en la raíz de mi solución, hermano de .SLN archivo como David Ebbo explicó aquí: http://blog.davidebbo.com/2014/01/the-right-way-to-restre-nuget-packages.html .

Desde la publicación del blog de Ebbo, el contenido del archivo para mí es simplemente

 < ?xml version="1.0" encoding="utf-8"?>      

ACTUALIZAR:

La URL de NuGet API ha cambiado para v3 (actual a partir de septiembre de 2016). Desde https://www.nuget.org/

  

El mensaje de error es completamente correcto. Intenté todos los trucos y ninguno funcionó. El proyecto (prueba simple MVC Web App) pasó de Windows 8.1 VS Community a mi nueva caja de prueba en Windows 10. Se aplicaron todas las actualizaciones más recientes de VS 2015. Ni siquiera podía instalar una versión más nueva del paquete de comstackdores.

 Loop: This seems to be a Ground Hog Day phenomena. GoTo Loop 

Finalmente, copié Microsoft.Net.Compilers.1.0.0 del proyecto antiguo al nuevo y funcionó. Podría comenzar a actualizar otros paquetes a una versión más nueva. Parece un error en el proceso de actualización del proyecto nuget.

NOTA: El proyecto original fue creado en VS 2015 y no tiene ninguna metodología nuget heredada.

Solución que funciona en mi caso: Visual Studio 2015 Enterprice, proyecto .NET 4.6.1

  1. Actualizar a la Actualización 3
  2. Instalar herramientas de desarrollador web

Instalación de estudio visual wizzard

No pude encontrar ninguna solución para esto, así que agregué una copia de nuget.exe y un script de powershell al directorio raíz de la solución llamada prebuild.ps1 con el siguiente contenido.

 $nugetexe = 'nuget.exe' $args = 'restre SOLUTION_NAME_HERE.sln' Start-Process $nugetexe -ArgumentList $args 

Llamé a este script de powershell en mi comstackción en la ruta del script Pre-Build enter image description here

El mío funcionó cuando copié la carpeta de paquetes junto con el archivo de solución y la carpeta del proyecto. No copié la carpeta de paquetes del lugar anterior.

También puede usar el mensaje de error sugerido como sugerencia. A continuación, le mostramos cómo encontrar el paquete Administrar paquetes para la solución y hacer clic en el paquete resolver nuget nuget.

Eso es

Comenta la opción del comstackdor en WebConfig :

  

Actualice la última versión de los paquetes en el archivo de configuración de paquetes

   

Reconstruir si todo está bien, no es necesario continuar, más haga clic derecho en el proyecto, haga clic en ‘descargar proyecto’ Haga clic derecho en el proyecto de nuevo y edite el archivo .csproj

Valide la ruta de Codedom, no estaba teniendo net45 en rutas anteriores, agregue eso manualmente, guarde, cargue, reconstruya. Deberia de funcionar.

  

Como muchos sugirieron que eliminar la etiqueta puede hacerlo comstackble-able. Sin embargo, ten cuidado con el hecho de que tiene un efecto secundario cuando lo haces para proyectos de prueba.

Recibí un error relacionado con el paquete MSTest.TestAdapter nuget durante la comstackción. Se resolvió ese problema eliminando la etiqueta . Aunque hizo la construcción exitosa, los métodos de prueba se volvieron no descubribles. Test explorer no listará los métodos de prueba en ese proyecto y Run Test o Debug Test no funcionarán tan bien.

Me encontré con esto durante el uso de Visual Studio 2017 y .Net framework 4.7 , puede suceder muy bien en otras versiones

El problema para mí fue que NuGet no pudo obtener / actualizar automáticamente los paquetes porque la ruta completa del archivo sería demasiado grande. Se corrigió moviendo mi solución a una carpeta en mis documentos en lugar de una carpeta profundamente anidada .

Luego puede hacer clic derecho en la solución y seleccionar “Restaurar paquetes NuGet” (que probablemente no sea necesario si solo lo comstack y deja que lo haga por usted), y luego seleccione “Administrar paquetes NuGet para la solución” para obtener todos los paquetes actualizado a la última versión.

Esto fue para una solución de una aplicación ASP MVC de muestra descargada del sitio web de Microsoft.

Para los ingenieros de DevOps / build, probablemente pueda reparar esta nuget restre ejecución contra el SLN afectado, o proyectar si le falta un SLN. Tengo que hacer esto para nuestras comstackciones de CI / CD para todos nuestros proyectos de UWP.

  1. Asegúrese de que nuget esté instalado en el esclavo de comstackción, ya sea en Visual Studio o de forma autónoma. Si es el último, asegúrese de que esté en RUTA y omita el paso 2.
  2. Abra la consola VS Dev CMD, o cárguela a través de una ya abierta, que puede hacer con las instrucciones a continuación:
    call "%VS140COMNTOOLS%VsDevCmd.bat" VS2015 call "%VS140COMNTOOLS%VsDevCmd.bat"
    o
    VS2017 call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
  3. call nuget restre MyStuff.SLN o call nuget restre MyStuff.csproj si no hay un SLN.

Para mí, los paquetes estaban allí en la ruta correcta, pero las carpetas de comstackción dentro de la carpeta del paquete no. Simplemente eliminé todos los paquetes que decía faltaban y reconstruí la solución y creó con éxito las carpetas de comstackción y los archivos .props. Entonces, los mensajes de error fueron correctos al informarme que algo era una falla.

No estoy seguro si esto ayudará a alguien, pero tuve este problema cuando borré el código fuente de mi máquina local sin haber guardado el archivo de solución en TFS. (Durante el desarrollo inicial, estaba haciendo clic con el botón derecho y comprobando el proyecto en el Explorador de soluciones, pero olvidé comprobar la solución en sí). Cuando tuve que trabajar en esto nuevamente, todo lo que tenía en TFS era el archivo .csproj, sin archivo .sln Entonces en VS hice un Archivo -> Control de Fuente -> Avanzado – Abrir desde el Servidor y abrí el archivo .csproj. A partir de ahí hice un Save All y me preguntó dónde quería guardar el archivo .sln. Estaba guardando este archivo .sln en el directorio del proyecto con las otras carpetas (App_Data, App_Start, etc.), no en el directorio de nivel superior. Finalmente descubrí que tengo que guardar el archivo .sln en un directorio de la carpeta del proyecto para que esté en el mismo nivel que la carpeta del proyecto. Todos mis caminos se resolvieron y pude construirlo de nuevo.

Tuve este problema como una comstackción fallida en Azure, cuando se implementó desde Git.

Resulta que .gitignore excluía la carpeta de build de ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props .

Una vez que la carpeta de build fue (forzar) comprometida con Git, el problema fue resuelto.

Para mí, mi archivo de gitignore estaba ignorando mi carpeta de paquetes. La siguiente línea de gitignore estaba causando el problema:

 **/packages/* 

Se eliminó y restableció mi carpeta de paquetes. Espero que esto ayude a alguien más.