.net - restaurar - visual studio la configuracion de nuget no es valida
Error de compilaciĆ³n. Este proyecto hace referencia a NuGet. (6)
¿Por qué debería necesitar manipulaciones con los archivos packages.config o .csproj?
El error dice explícitamente: Use NuGet Package Restore para descargarlos.
Utilícelo de acuerdo con esta instrucción: https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore-troubleshooting :
Solución rápida para usuarios de Visual Studio
1.Seleccione el comando de menú Herramientas> Administrador de paquetes NuGet> Configuraciones del Administrador de paquetes.
2. Configure ambas opciones en Restaurar paquete.
3.Seleccione OK.
4. Construye tu proyecto de nuevo.
Cuando intento compilar mi solución, aparece el siguiente mensaje de error:
Código de gravedad Descripción Error de estado de supresión de línea de archivo de proyecto Este proyecto hace referencia a los paquetes NuGet que faltan en esta computadora. Utilice 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.1.1 / build / Microsoft.Net.Compilers.props. MusicKarma C: / Users / Bryan / Documents / Visual Studio 2015 / Projects / MusicKarma / MusicKarma.csproj 268
Cuando miro En mi carpeta de paquetes, puedo encontrar un archivo llamado Microsoft.Net.Compilers.props
He intentado usar Nuget Restore, pero sigue diciendo que tengo todos los paquetes. ¿Alguien que pueda ayudarme?
Esto sucede cuando llevo este proyecto de TFS a una de mis computadoras.
Es un post un poco viejo, pero recientemente me encontré con este problema. Todo lo que hice fue eliminar todos los paquetes nuget de la carpeta de paquetes y restaurarlos. Pude construir la solución con éxito. Esperemos que sea útil para alguien.
Este problema apareció cuando estaba creando carpetas en el sistema de archivos (no en mi solución) y movió algunos proyectos.
Resulta que las rutas del paquete son relativas de los archivos csproj. Así que tuve que cambiar el "HintPath" de mis referencias:
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>../packages/EntityFramework.6.1.3/lib/net45/EntityFramework.dll</HintPath>
<Private>True</Private>
</Reference>
A:
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>../../packages/EntityFramework.6.1.3/lib/net45/EntityFramework.dll</HintPath>
<Private>True</Private>
</Reference>
Observe el doble ".. /" en ''HintPath''.
También tuve que cambiar mis condiciones de error, por ejemplo tuve que cambiar:
<Error Condition="!Exists(''../packages/Microsoft.Net.Compilers.1.1.1/build/Microsoft.Net.Compilers.props'')" Text="$([System.String]::Format(''$(ErrorText)'', ''../packages/Microsoft.Net.Compilers.1.1.1/build/Microsoft.Net.Compilers.props''))" />
A:
<Error Condition="!Exists(''../../packages/Microsoft.Net.Compilers.1.1.1/build/Microsoft.Net.Compilers.props'')" Text="$([System.String]::Format(''$(ErrorText)'', ''../../packages/Microsoft.Net.Compilers.1.1.1/build/Microsoft.Net.Compilers.props''))" />
De nuevo, note el doble ".. /".
Primero verificaría si su proyecto MusicKarma tiene Microsoft.Net.Compilers en su archivo packages.config. De lo contrario, podría eliminar todo lo que tenga que ver con el paquete NuGet de su MusicKarma.csproj.
Si está utilizando el paquete de NuGet de Microsoft.Net.Compilers, supongo que la ruta es incorrecta. Viendo el nombre del directorio en el mensaje de error, supongo que el archivo de solución MusicKarma (.sln) está en el mismo directorio que MusicKarma.csproj. Si es así, es probable que el directorio de paquetes sea incorrecto, ya que, de forma predeterminada, el directorio de paquetes estaría dentro del directorio de la solución. Así que estoy asumiendo que su directorio de paquetes es:
C:/Users/Bryan/Documents/Visual Studio 2015/Projects/MusicKarma/packages
Mientras su archivo MusicKarma.csproj está buscando el archivo de propiedades en:
C:/Users/Bryan/Documents/Visual Studio 2015/Projects/packages/Microsoft.Net.Compilers.1.1.1/build
Entonces, si ese es el caso, puede solucionar el problema editando la ruta en su archivo MusicKarma.csproj o reinstalando el paquete NuGet.
Solución rápida que funcionó como un encanto para mí y para otros:
Si está utilizando VS 2015+, simplemente elimine las siguientes líneas del archivo .csproj de su proyecto:
<Import Project="$(SolutionDir)/.nuget/NuGet.targets" Condition="Exists(''$(SolutionDir)/.nuget/NuGet.targets'')" />
<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>
En VS 2015+ Solution Explorer:
- Haga clic derecho en el nombre del proyecto -> Descargar proyecto
- Haga clic derecho en el nombre del proyecto -> Editar .csproj
- Eliminar las líneas especificadas arriba del archivo y guardar
- Haga clic derecho en el nombre del proyecto -> Recargar proyecto
También tuve este error. Tomé esta parte del código del archivo .csproj:
<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>