J'ai ajouté la fonctionnalité de restauration de package nuget récente à une solution en utilisant 'Enable NuGet Package Restore': http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
Cependant, cela a cassé mon serveur de build et je n'ai pas eu le temps de le réparer, alors j'ai voulu le supprimer. Il n'y a pas d'option pour cela pour autant que je sache, j'ai donc supprimé manuellement la ligne suivante de tous mes fichiers * .csproj:
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
Le problème maintenant est que chaque fois que mes fichiers * .csproj sont extraits ou ouverts ma solution, la ligne est automatiquement ajoutée à nouveau, cassant ma construction si je l'archive accidentellement :(
Des idées comment je peux le supprimer définitivement?
MISE À JOUR: malgré la réponse ci-dessous, il revient toujours lors de l'ouverture de la solution, quelqu'un a le même problème?
la source
Réponses:
Je n'avais pas l'air très bien, il y a une autre propriété ajoutée aux fichiers du projet:
Il suffit de supprimer ceci ainsi que toutes ces lignes manuellement de tous les fichiers * .csproj:
METTRE À JOUR:
Il s'avère que c'est un petit bugger persistant, si vous éditez manuellement vos fichiers de projet, assurez-vous de fermer la solution et de supprimer toutes les lignes du projet à la fois , sinon elles sont simplement ajoutées une fois le projet rechargé ...
UPDATE2:
Supprimez également le dossier .nuget de la racine de la solution
MISE À JOUR3:
Une version ultérieure de NuGet ajoute une autre section que vous devez supprimer:
Mise à jour4
À l'intérieur du
NuGet.Targets
situé dans le.nuget
dossier, il y a une autre section qui est ajoutée aux nouveaux projets ... changez-la sur false.la source
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
à la fin du fichier .csproj qui doit être supprimé manuellement.Pour désactiver la restauration de packages Nuget:
Lignes à supprimer:
Remarque: assurez-vous de faire toutes les modifications en une seule fois avant de recharger la solution, sinon elle les rajoutera.
Ceci est basé sur l'article suivant: http://bartwullems.blogspot.no/2012/08/disable-nuget-package-restore.html
Vous pouvez également vérifier que cette option est désactivée: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
la source
N'est-ce pas ce paramètre ici?
Options ... -> Nuget Package Manager -> [décocher] Autoriser Nuget à télécharger les packages manquants
J'utilise Visual Studio Professional + Resharper 8.2
la source
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.'
c'est juste une confirmation que cela devrait être la voie à suivre..nuget/
dossier et modifierait votre.csproj
pour référencer un.targets
fichier. Vous étiez censé le confiernuget.exe
à votre VCS (eww, la résolution du problème que Nuget résout!) Et la laideur comme ça. De nos jours,msbuild /restore
existe et la restauration du package intégré de VS. L'OP demande comment supprimer l'ancienne et mauvaise façon de faire les choses, et non comment désactiver la prise en charge correcte de la restauration de paquet intégrée de VS.Les solutions qui utilisent actuellement la restauration de package intégrée à MSBuild peuvent être migrées vers la restauration automatique de package. D'après ce que je comprends, cela devrait aider ceux qui rencontrent des problèmes de construction de CI. (Veuillez me corriger si je me trompe).
Veuillez consulter le document sur le site Web nuget: Migration des solutions MSBuild-Integrated pour utiliser la restauration automatique des packages à l' adresse http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
Il y a des informations là-bas pour la conversion avec et sans TFS.
David Ebbo a également publié des informations sur http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html
la source
Nous avons en fait un article de blog à ce sujet et à la fin de l'article, un script PowerShell a été mentionné pour aider à la migration.
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
la source
NuGet a publié un article de blog sur la migration vers la restauration automatique des packages: http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
Il existe un script PowerShell référencé dans le billet de blog qui se chargera de supprimer les lignes nécessaires automatiquement (et récursivement): https://github.com/owen2/AutomaticPackageRestoreMigrationScript/blob/master/migrateToAutomaticPackageRestore.ps1
Offrir directement une option de désactivation de la restauration du package NuGet est marqué comme Ne résoudra pas: https://nuget.codeplex.com/workitem/1883
la source
J'ai suivi la solution acceptée en vain en utilisant 2012. Cela a fonctionné cependant,
<RestorePackages>true</RestorePackages>
à jour le vers<RestorePackages>false</RestorePackages>
et supprimer la<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
lignenuget.exe
ennuget.exe.NotExe
la source
Pour tous ceux qui ont encore besoin de nettoyer un projet à l'aide de l'ancienne restauration de package NuGet, l'outil IFix disponible ici automatise le processus.
Exécutez simplement le programme d'installation (
IFix
sera ajouté àPATH
), puis exécutez ce qui suit:Vous pouvez d'abord l'exécuter en mode vérification pour voir ce qu'il va nettoyer:
la source
J'ai eu le même problème. Ce que j'ai fini par faire: 1) aller dans chaque fichier .csproj du projet dans la solution, l'ouvrir dans le bloc-notes, puis supprimer la partie du xml et l'enregistrer.
2) Ensuite, j'ai supprimé tous les fichiers package.config de toute la solution.
3) Ensuite, j'ai dû supprimer les dossiers .nuget et package.
À ce stade, j'avais une solution entièrement gratuite de NuGet.
4) Ensuite, j'ai référencé manuellement toutes les DLL nécessaires et j'ai appuyé sur la compilation et la solution a fonctionné comme un champion sans que les packages NuGet soient nécessaires.
la source
Accédez au répertoire de votre solution où vous avez un
[$(SolutionDir)\.nuget\nuget.targets] .nuget
dossier et unnuget.targets
fichier en dessous, supprimez le dossier et modifiez les lignes de suppression de votre csproj pour la dernière fois.Le problème ne reviendra plus vous déranger.
la source
Supprimez le fichier packages.config dans votre solution.
la source
J'ai accidentellement activé cette option de «restauration de package» lors de l'ouverture de mon projet dans VS2012 RC et j'ai commencé à recevoir des erreurs qui ressemblaient à:
"Erreur 1 Impossible de localiser 'C: \ FolderX \ SomeProject.nuget \ nuget.exe'"
Pour corriger l'erreur, j'ai suivi les instructions ci-dessus, ouvert ouvert chaque fichier de projet dans le bloc-notes et supprimé cette ligne RestorePackage.
la source
J'ai pu résoudre ce problème en suivant ces étapes:
1) Assurez-vous de faire une sauvegarde de toutes les modifications de fichiers actuellement extraits.
2) supprimez physiquement le dossier de solution de votre C: \ (chemin qui est mappé à TFS).
3) Obtenez la dernière version de TFS pour votre solution.
4) copiez (le cas échéant) vos modifications à partir de la sauvegarde que vous avez effectuée à l'étape 1.
J'espère que cela pourra aider !
la source
J'ai rencontré exactement le même problème et j'ai essayé de supprimer toutes les balises .nuget et RestorePackage des fichiers du projet, mais un projet ne se rechargerait tout simplement pas, peu importe à quel point je l'ai examiné minutieusement pour les balises .nuget et RestorePackages. Je suppose qu'il y a des références cachées à cela quelque part.
En fin de compte, il était plus facile de simplement copier les fichiers et de créer un nouveau projet et de l'importer dans la solution.
la source
Nuget est nul. Supprimez simplement les nugets et supprimez ou commentez les éléments du package de packages.config dans le répertoire racine des projets où cela pose un problème. Utilisez plutôt des références directes dans un dossier lib.
la source