Faltan paquetes NuGet

297

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

Recibo el siguiente error:

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

  1. No tengo la 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 aún 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 señales de advertencia amarillas y dicen que faltan.
  5. Cuando revisé el NuGet Package Manager para el proyecto, todo lo que "falta" tiene una marca verde al lado, incluidos Microsoft.Net.Compilers.
  6. Intenté agregar un nuevo proyecto Web API / MVC y se enfrentó a un problema similar en el que la mayoría de las referencias como Owin "faltaban" con la señal de advertencia amarilla.
Ques Tion
fuente
vota para cerrar esta pregunta debido a la gran cantidad de respuestas publicadas de baja calidad por nuevos usuarios.
ZF007

Respuestas:

265

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 los paquetes están ahora (Visual Studio 2015) almacenadas en el archivo .csproj.

Editar el archivo .csproj y corregir la ruta relativa a la carpeta de la solución (que contiene la carpeta de paquetes) resolvió el problema para mí.

Tiberiu Craciun
fuente
2
Copiar la carpeta Microsoft.Net.Compilers ... de la carpeta de paquetes anterior a la nueva ubicación de paquetes después de un movimiento si falta puede ser un paso final requerido.
Justin Wignall
2
Acabo de eliminar ese paquete ONE de mi computadora y funcionó.
SpoiledTechie.com
1
También recibí el error al mover físicamente un proyecto a una ubicación diferente en la solución de Visual Studio. Ninguna de las soluciones en esta página funcionó, así que hice una copia del proyecto (en el sistema de archivos) y eliminé por completo toda referencia al proyecto original en VS. Luego recreé el proyecto y copié los fragmentos en él (de la copia que hice). Laborioso, pero funcionó.
Andrew Jens
2
También tuve el mismo problema después de mover el proyecto de una ubicación a otra. La ruta de reparación de los paquetes en el archivo ".csproj" solucionó el problema.
Nirman
2
@ MiłoszWieczorek Intenté ejecutar el comando en Package Manager Console y no resolvió el problema. Recargó todos los paquetes, pero las referencias aún no se encuentran.
Francisco d'Anconia
360

Resolví mi problema eliminando este código del .csprojarchivo:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  <PropertyGroup>
    <ErrorText>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}.</ErrorText>
  </PropertyGroup>
  <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
DKR
fuente
55
La respuesta aceptada no funcionaría ya que estoy haciendo referencia al proyecto en múltiples soluciones separadas. Esta fue la única solución. Comentó y funcionó como un encanto.
Levi Fuller
31
Podría estar equivocado, pero creo que esto es "aplastar la mosca con el martillo". Si, por alguna razón, la ubicación publicada pierde cualquier otro paquete nuget requerido, no se producirá un error, lo que le dará un falso positivo (es decir, la implementación se realiza correctamente, pero el sistema falla). No soy fanático, pero no lo voy a rechazar porque hay aspectos de Nuget que aún no conozco.
HeyZiko
44
Esto también funcionó para mí. Es extraño que el mensaje de error estuviera codificado en el archivo del proyecto ...
Ryan Peters
77
Confirmé que este problema todavía existe en VS 2017. Migré un proyecto de Visual Studio 2015 a 2017 y recibí este mensaje de error en la primera compilación en 2017. Esto solucionó el error.
Tom McDonald
2
¿Por qué eliminar la funcionalidad, arriesgarse a que su proyecto se rompa, etc. al hacer esto? Como @HeyZiko señala, esto puede conducir a problemas más adelante. Podría hacer lo que dice el error "Habilitar la restauración del paquete". Vea mi respuesta en alguna parte de esta página ...
Nicow
45

CUIDADO: esto actualiza los paquetes para toda la solución, no solo el proyecto.

Si le falta un paquete nuget más que da su error al crear su solución, use el siguiente comando usando la Consola de comandos Nuget desde Herramientas> Nuget Package Manager> Package Manager Console. Reinstalará todos sus paquetes actuales.

Update-Package –reinstall

Actualizar:

Puede pasar un nombre de proyecto específico como parámetro.

Update-Package –reinstall -ProjectName SampleApp
Shyam Bhagat
fuente
1
Esto funcionó para mí. El error apareció después de mí después de empujar los cambios a través de git en un sistema y tirar de ellos en otro. Tal vez mi .gitignore no esté configurado correctamente para paquetes nuget.
Patrick Borkowicz
16
Cuidado ... esto actualiza los paquetes para toda la solución, no solo el proyecto.
Usuario SO
1
Esto funcionó para mí. NuGet siguió quejándose por la falta de paquetes, pero Visual Studio no se resolvió automáticamente. Me llevó un par de minutos ejecutarlo por completo, pero este comando solucionó mi problema.
Nick Alexander
8
Puede agregar el parámetro -ProjectName para que sea solo para un proyecto específico, no una solución completa.
Miłosz Wieczorek
2
VS2017 se estrelló a la mitad de esto y lo rompió todo
sale el
19

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

Ryan Russon
fuente
2
Hice clic derecho en la Solución y Restore Nuget Packages.
Vitor Canova
1
No tengo ningún paquete Restore Nuget cuando hago clic derecho en la solución ... Estoy usando VS 2013 ..
Ziggler
También tuve que asegurarme de que se restablezca en el paquete correcto. verifique el .csproj usando note / Edit * .csproj para la ubicación de la carpeta de paquetes
AceMark
15

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

 <Import Project="..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

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

<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
Tom Stickel
fuente
lo que funcionó para mí al final fue editar solo la línea al final del archivo, pero no en la parte superior
ISAE
15

de esta manera resolvió mi error: para abrir el archivo .csproj para su actualización en Visual Studio 2015+ Solution Explorer:

Haga clic con el botón derecho en el nombre del proyecto -> Descargar proyecto

Haga clic con el botón derecho en el nombre del proyecto -> Editar .csproj

Elimina las siguientes líneas:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>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}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
    <Error Condition="!Exists('packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
  </Target>

Haga clic con el botón derecho en el nombre del proyecto -> Recargar proyecto

Finalmente construya su solución.

Abdullah
fuente
Después de arreglar manualmente las rutas en csproj, eliminé la sección AsegúreseNuGetPackageBuildImports y funcionó perfectamente. gracias
willyMon
11

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

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
  <ErrorText>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}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets'))" />

Mohsin Awan
fuente
1
Pero, ¿por qué estas mal en primer lugar? ¿Error en Visual Studio?
Protector uno
8

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

del y funcionó.

Prakrithi
fuente
6

Para mí, el problema era que cuando copié la solución a 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 origen, pero no en este proyecto de soluciones, era un directorio.

ingrese la descripción de la imagen aquí

John Peters
fuente
6

Simplemente habilite Restaurar paquete NuGet. Haga clic con el botón derecho en su solución> elija 'Habilitar restauración de paquete NuGet'.

Haga clic con el botón derecho en su solución> elija 'Habilitar restauración de paquete NuGet'

Esto creará la carpeta .nuget con el archivo NuGet.Config y solucionará mi problema.

Nicow
fuente
¡¡Gracias!! Yo también enfrenté una situación similar y funcionó 'Habilitar restauración de paquete NuGet'.
Jain Prince
18
No me funcionó, dice "Todos los paquetes ya están instalados y no hay nada que restaurar".
Dalibor
5

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

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  -- Error messages within Target Tag
</Target>
MAK
fuente
5

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

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

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:

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.0.1
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\

Cuando my packages.config solo hacía referencia a lo siguiente:

<package id="Microsoft.Net.Compilers" version="2.0.1"
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.3"

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

Brian Vander Plaats
fuente
2

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

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

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </packageSources>
</configuration>

ACTUALIZAR:

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

<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
madannes
fuente
1

El mensaje de error es completamente correcto. Intenté todos los trucos y ninguno funcionó. El proyecto (prueba simple de aplicación web MVC) se trasladó de Windows 8.1 VS 2015 Community a mi nuevo cuadro de prueba en Windows 10. Se aplicaron todas las últimas actualizaciones de VS 2015. Ni siquiera pude instalar ninguna versión más nueva del paquete de compiladores.

Loop:
<LOOP>This seems to be a Ground Hog Day phenomena.</LOOP>
GoTo Loop

Finalmente acabo de copiar Microsoft.Net.Compilers.1.0.0 del antiguo proyecto al nuevo y funcionó. Entonces podría comenzar a actualizar otros paquetes a la versión más nueva. A mí me parece un error en el proceso de actualización del proyecto Nuget.

NOTA: El proyecto original se creó en VS 2015 y no tiene ninguna metodología nuget heredada.

Peter Ennis
fuente
1

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

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

Instalación de Visual Studio wizzard

Norbert Rozmus
fuente
1

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

Ian Hale
fuente
1

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

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

Una vez que la buildcarpeta fue (forzada) comprometida con Git, el problema se resolvió.

Neil Thompson
fuente
1

Resolví el mismo problema con los siguientes pasos

  1. Se eliminó el paquete <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net46" />del archivo package.config.
  2. Edite el archivo de proyecto .csproj y elimine la configuración a continuación. <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">     <PropertyGroup>       <ErrorText>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}.</ErrorText>     </PropertyGroup>     <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />   </Target>

    1. Vaya a la consola del administrador de paquetes y ejecute el comando Update-Package –reinstall

Los puntos # 2 y 3 fueron dados por otros usuarios y los aprecio. Punto # 1, eliminar el Microsoft.CodeDom.Providers.DotNetCompilerPlatformarchivo package.config es más importante. Además, después de ejecutar el comando mencionado en el punto 3, el problema se resolvió. Todos los paquetes no deseados eliminados y la referencia de paquete requerida actualizada

Espero que esto ayude a alguien.

Karthik
fuente
0

No pude encontrar ninguna solución a 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 = 'restore SOLUTION_NAME_HERE.sln'
Start-Process $nugetexe -ArgumentList $args

Llamé a este script de PowerShell en mi compilación en la ruta de guion Pre-Build ingrese la descripción de la imagen aquí

Nick Rubino
fuente
0

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

usuario1429899
fuente
0

También puede usar el mensaje de error sugerido como una pista. A continuación, le indicamos cómo encontrar los paquetes de administración para la solución y hacer clic en resolver el paquete nuget faltante.

Eso es

Parama Dharmika
fuente
0

Comente la opción del compilador en WebConfig:

<!--<system.codedom>
<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>-->

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

  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.4" targetFramework="net452" />

Reconstruir si todo está bien, no es necesario continuar, de lo contrario, haga clic derecho en el proyecto, haga clic en 'descargar proyecto' Haga clic derecho en el proyecto nuevamente y edite el archivo .csproj

Valide la ruta de Codedom, no tenía net45 en rutas anteriores, agréguela manualmente, guarde, cargue, reconstruya. Deberia de funcionar.

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
Vikas Bansal
fuente
0

Como muchos sugirieron que eliminar la <Target>etiqueta puede hacer que sea compilable. Sin embargo, tenga cuidado con el hecho de que tiene un efecto secundario cuando lo hace para proyectos de prueba.

Recibí un error relacionado con el MSTest.TestAdapterpaquete nuget al compilar. Resolvió ese problema eliminando la <Target>etiqueta. Aunque hizo que la construcción fuera exitosa, los métodos de prueba no se pudieron descubrir. El explorador de pruebas no enumerará los métodos de prueba en ese proyecto y Run Test o Debug Test no funcionarán tan bien.

Encontré esto mientras usaba Visual Studio 2017y .Net framework 4.7, muy bien puede suceder en otras versiones

Saravanan
fuente
1
Tengo exactamente ese problema usando VS2017, .Net4.7 y un proyecto de prueba de unidad. Ese proyecto se agrega a múltiples soluciones. La restauración automática funciona pero en el lugar equivocado. Reemplazar con $(SolutionDir)trabajo pero actualizar errores. Yo pregunté eso aquí . ¿Tienes alguna solución encontrada?
Sebastian Schumann
0

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

Luego, puede hacer clic con el botón derecho en la solución y seleccionar "Restaurar paquetes NuGet" (lo que probablemente no sea necesario si solo lo crea 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.

pkr298
fuente
0

Para los ingenieros de DevOps / build, probablemente pueda arreglar esto en ejecución nuget restorecontra el SLN afectado, o proyectar si carece de un SLN. Tengo que hacer esto para nuestras compilaciones de CI / CD para todos nuestros proyectos de UWP.

  1. Asegúrese de que nuget esté instalado en el esclavo de compilación, ya sea en Visual Studio o en forma independiente. Si es lo ú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, lo que puede hacer con las instrucciones a continuación:
    VS2015 call "%VS140COMNTOOLS%VsDevCmd.bat"
    o
    VS2017call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
  3. call nuget restore MyStuff.SLNo call nuget restore MyStuff.csprojsi no hay SLN.
kayleeFrye_onDeck
fuente
0

No estoy seguro de 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 derecho y registrando el proyecto en el Explorador de soluciones, pero olvidé volver a registrar la solución en sí misma). Cuando necesitaba 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. Desde allí hice un Guardar todo 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 el directorio de nivel superior. Finalmente descubrí que necesito guardar el archivo .sln en un directorio de la carpeta del proyecto para que ' s en el mismo nivel que la carpeta del proyecto. Todos mis caminos se resolvieron y pude construirlo nuevamente.

chersull_99
fuente
0

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

**/packages/*

Eliminado y restaurado mi carpeta de paquetes. Espero que esto ayude a alguien más.

bsod_
fuente
0

Obtuve una solución a este error, en realidad estaba teniendo una versión diferente de MSTest.TestAdapter (1.3.2) en mi carpeta de paquetes y en el archivo .csproj las referencias apuntaban a MSTest.TestAdapter (1.1.0). He reemplazado todos los MSTest.TestAdapter (1.1.0) a MSTest.TestAdapter (1.3.2), y esto resolvió mi problema.

Irshad Ahmed Akhonzada
fuente
0

Me doy cuenta de que esta pregunta es antigua, sin embargo, me encontré con esta misma situación hoy y quería arrojar mis 2 centavos por cualquiera que haya encontrado recientemente este problema. Un proyecto ASP MVC que había movido manualmente a una subcarpeta en mi solución y luego lo eliminé y leí en la solución, usando Visual Studio 2017, estaba dando el error mencionado. Mover las carpetas "lib" y "paquetes" a la raíz de la misma subcarpeta que el proyecto MVC solucionó mi problema.

JP Sietsma
fuente
0

Estaba teniendo el mismo problema, resultó que uno de los proyectos a los que hacía referencia estaba fuera del directorio de la solución (y, por lo tanto, no compartía la misma carpeta '/ packages'). La solución que funcionó para mí fue abrir la solución del proyecto de referencia y construirla allí. Una vez que se construyó ese proyecto, los errores desaparecieron.

bmontalvo
fuente