Agregué la función de restauración de paquete nuget reciente a una solución usando 'Habilitar restauración de paquete NuGet': http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
Sin embargo, rompió mi servidor de compilación y no tuve tiempo de arreglarlo, así que quise eliminarlo. Por lo que sé, no hay ninguna opción para eso, así que eliminé la siguiente línea manualmente de todos mis archivos * .csproj:
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
El problema ahora es que cada vez que mis archivos * .csproj se desprotegen o abren mi solución, la línea se agrega automáticamente nuevamente, interrumpiendo mi compilación si accidentalmente la ingreso :(
¿Alguna idea de cómo puedo eliminarlo de forma permanente?
ACTUALIZACIÓN: a pesar de la respuesta a continuación, sigue volviendo al abrir la solución, ¿alguien con el mismo problema?
fuente
Respuestas:
No me veía muy bien, hay otra propiedad agregada a los archivos del proyecto:
Solo tiene que eliminar esto y todas estas líneas manualmente de todos los archivos * .csproj:
ACTUALIZAR:
Resulta que es un pequeño bicho persistente, si está editando manualmente los archivos de su proyecto, asegúrese de cerrar la solución y eliminar todas las líneas del proyecto a la vez , de lo contrario, solo se agregarán nuevamente una vez que el proyecto se vuelva a cargar ...
ACTUALIZACIÓN2:
Elimine la carpeta .nuget de la raíz de la solución también
ACTUALIZACIÓN3:
Una versión posterior de NuGet agrega otra sección que debe eliminar:
Actualización4
Dentro del
NuGet.Targets
ubicado en la.nuget
carpeta, hay otra sección que se agrega a los nuevos proyectos ... cámbielo a falso.fuente
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
archivo al final del archivo .csproj que debe eliminarse manualmente.Para deshabilitar Nuget Package Restore:
Líneas para eliminar:
Nota: Asegúrese de hacer todos los cambios de una vez antes de volver a cargar la solución o, de lo contrario, los agregará nuevamente.
Esto se basa en el siguiente artículo: http://bartwullems.blogspot.no/2012/08/disable-nuget-package-restore.html
Además, es posible que desee verificar que esta opción esté deshabilitada: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
fuente
¿No es esta configuración aquí?
Opciones ... -> Administrador de paquetes Nuget -> [desmarcar] Permitir que Nuget descargue paquetes faltantes
Estoy usando Visual Studio Professional + Resharper 8.2
fuente
Restoring NuGet packages... To prevent NuGet from restoring packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages during build.'
es solo una confirmación de que este debería ser el camino a seguir..nuget/
carpeta y modificaría su.csproj
referencia a un.targets
archivo. Se suponía quenuget.exe
debías comprometerlo con tu VCS (¡eww, sin resolver el problema que Nuget resuelve!) Y fealdad como esa. Hoy en día,msbuild /restore
existe la restauración del paquete incorporado de VS. El OP pregunta cómo eliminar la vieja y mala forma de hacer las cosas, no cómo deshabilitar el soporte de restauración de paquete integrado correcto de VS.Las soluciones que actualmente usan MSBuild-Integrated package restore pueden migrarse a Automatic Package Restore. Por lo que entiendo, esto debería ayudar a aquellos que enfrentan problemas de creación de CI. (Corrígeme si me equivoco).
Consulte el documento en el sitio web de nuget: Migración de soluciones integradas de MSBuild para usar Restauración automática de paquetes en http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
Hay información allí para convertir con y sin TFS.
David Ebbo también publicó información en http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html
fuente
De hecho, tenemos una publicación de blog al respecto y al final de la publicación se mencionó un script de PowerShell para ayudar con la migración.
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
fuente
NuGet tiene una publicación de blog sobre la migración a la restauración automática de paquetes: http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
Hay una secuencia de comandos de PowerShell referenciada en la publicación del blog que se encargará de eliminar las líneas necesarias automáticamente (y de forma recursiva): https://github.com/owen2/AutomaticPackageRestoreMigrationScript/blob/master/migrateToAutomaticPackageRestore.ps1
Al ofrecer una opción Desactivar la restauración del paquete NuGet directamente, está marcado como No se solucionará: https://nuget.codeplex.com/workitem/1883
fuente
Seguí la solución aceptada en vano con 2012. Sin embargo, esto funcionó,
<RestorePackages>true</RestorePackages>
que<RestorePackages>false</RestorePackages>
y elimine la<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
línea denuget.exe
anuget.exe.NotExe
fuente
Para cualquiera que todavía necesite limpiar un proyecto utilizando la restauración del paquete NuGet de estilo antiguo, la herramienta IFix disponible aquí automatiza el proceso.
Simplemente ejecute el instalador (
IFix
se agregará aPATH
) y luego ejecute lo siguiente:Puede ejecutarlo primero en modo de verificación para ver qué limpiará:
fuente
Tuve el mismo problema. Lo que terminé haciendo: 1) ir a cada archivo .csproj del proyecto en la solución, abrirlo en el bloc de notas, luego eliminar la parte del xml y guardarlo.
2) Luego eliminé todos los archivos package.config de toda la solución.
3) Luego tuve que eliminar las carpetas .nuget y package.
En este punto, tenía una solución completamente libre de NuGet.
4) Luego hice referencia manual a cualquier DLL necesario y presioné compilar y la solución funcionó como un campeón sin que se necesitaran los paquetes NuGet.
fuente
Vaya al directorio de la solución donde tiene la
[$(SolutionDir)\.nuget\nuget.targets] .nuget
carpeta y elnuget.targets
archivo debajo, elimine la carpeta y cambie las líneas de eliminación de su csproj por última vez.El problema no volverá a molestarte de nuevo.
fuente
Elimine el archivo packages.config de su solución.
fuente
Accidentalmente habilité esta opción de "restauración de paquete" al abrir mi proyecto en VS2012 RC y comencé a recibir errores que se parecían a:
"Error 1 No se puede encontrar 'C: \ FolderX \ SomeProject.nuget \ nuget.exe'"
Para corregir el error, seguí las instrucciones anteriores, abrí cada archivo de proyecto en el bloc de notas y eliminé la línea RestorePackage.
fuente
Pude resolver este problema siguiendo estos pasos:
1) asegúrese de realizar una copia de seguridad de todos sus cambios actuales de archivos desprotegidos.
2) elimine físicamente la carpeta de la solución de su C: \ (ruta que está asignada a TFS).
3) obtenga lo último de TFS para su solución.
4) copie (si corresponde) sus cambios de la copia de seguridad que realizó en el paso 1.
Espero que ayude !
fuente
Me encontré exactamente con el mismo problema y traté de eliminar todas las etiquetas .nuget y RestorePackage de los archivos del proyecto, pero un proyecto simplemente no se volvió a cargar, sin importar cuán minuciosamente lo examiné para las etiquetas .nuget y RestorePackages. Supongo que hay algunas referencias ocultas a esto en alguna parte.
Al final, fue más fácil copiar los archivos y crear un nuevo proyecto e importarlo a la solución.
fuente
Nuget apesta. Simplemente elimine los nugets y elimine o comente los elementos del paquete de packages.config en el directorio raíz de los proyectos donde esto es un problema. Utilice referencias directas en alguna carpeta lib en su lugar.
fuente