J'ai ajouté la fonctionnalité de restauration de paquet de nuget récente à une solution utilisant 'Enable NuGet package Restore': http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
Cependant, mon serveur de build est tombé en panne et je n'avais pas le temps de le réparer. Je voulais donc le supprimer. Pour autant que je sache, il n'y a pas d'option pour cela. J'ai donc supprimé manuellement la ligne suivante de tous mes fichiers * .csproj:
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
Le problème est maintenant que chaque fois que mes fichiers * .csproj sont extraits ou ouvrent ma solution, la ligne est automatiquement ajoutée à nouveau, cassant ma construction si je l'enregistre accidentellement dans :(
Des idées comment je peux l'enlever de façon permanente?
MISE À JOUR: malgré la réponse ci-dessous, le problème persiste-t-il toujours après l'ouverture de la solution?
Je n'avais pas l'air très bien, il y a une autre propriété ajoutée aux fichiers du projet:
<RestorePackages>true</RestorePackages>
Il suffit de supprimer ceci ainsi que toutes ces lignes manuellement de tous les fichiers * .csproj:
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
METTRE À JOUR:
Il s'avère que c'est un petit bug persistant, si vous éditez manuellement vos fichiers de projet, assurez-vous de fermer la solution et de supprimer toutes les lignes du projet en même temps , sinon, elles sont simplement ajoutées à nouveau une fois le projet rechargé. ...
UPDATE2:
Supprimer également le dossier .nuget de la racine de la solution
UPDATE3:
Une version ultérieure de NuGet ajoute une autre section que vous devez supprimer:
<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>
Update4
À l'intérieur du NuGet.Targets
situé dans le dossier .nuget
, une autre section est ajoutée aux nouveaux projets ... changez-la en false.
<!-- We need to ensure packages are restored prior to Assembly resolve -->
<BuildDependsOn Condition="$(RestorePackages) == 'false'">
RestorePackages;
$(BuildDependsOn);
</BuildDependsOn>
Pour désactiver la restauration de package Nuget:
Lignes à supprimer:
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
<RestorePackages>true</RestorePackages>
Remarque: Assurez-vous de faire toutes les modifications en une fois avant de recharger la solution, sinon cela 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
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
Les solutions qui utilisent actuellement la restauration de package MSBuild-Integrated peuvent être migrées vers la restauration automatique de package. D'après ce que j'ai compris, cela devrait aider ceux qui rencontrent des problèmes de construction de CI. (S'il vous plaît corrigez-moi si je me trompe).
Veuillez vous reporter au document sur le site Web de nuget: Migration des solutions MSBuild-Integrated pour utiliser la restauration automatique des paquets à l’adresse http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
Il existe des informations 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
Nous avons en fait un article sur le blog et à la fin de celui-ci, un script PowerShell a été mentionné pour faciliter la migration.
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
NuGet a publié un article sur la migration vers la restauration automatique de paquetages: http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
Il y a un script powershell référencé dans l'article qui se chargera de supprimer les lignes nécessaires automatiquement (et de manière récursive): https://github.com/owen2/AutomaticPackageRestoreMigrationScript/ blob/master/migrateToAutomaticPackageRestore.ps1
Proposer une option Désactiver la restauration du paquet NuGet directement est marqué comme ne résoudra pas le problème: https://nuget.codeplex.com/workitem/1883
J'ai suivi la solution acceptée sans succès en 2012. Cela fonctionnait bien,
<RestorePackages>true</RestorePackages>
en <RestorePackages>false</RestorePackages>
et supprimez la ligne <Import Project="$(SolutionDir)\.nuget\nuget.targets" />
nuget.exe
en nuget.exe.NotExe
Pour ceux qui ont encore besoin de nettoyer un projet en utilisant l’ancien style de restauration de paquet NuGet, l’outil IFix disponible ici automatise le processus.
Il suffit d’exécuter le programme d’installation (IFix
sera ajouté à PATH
), puis exécutez ce qui suit:
IFix nugetrestore --fix
Vous pouvez d'abord l'exécuter en mode vérification pour voir ce qu'il va nettoyer:
IFix nugetrestore --check
Accédez au répertoire de votre solution où se trouvent le dossier [$(SolutionDir)\.nuget\nuget.targets]
.nuget
et le fichier nuget.targets
, supprimez-le, .__ et modifiez les lignes de suppression de votre csproj pour la dernière fois.
Le problème ne reviendra pas à vous déranger à nouveau.
J'ai eu le même problème. Ce que j'ai fini par faire: 1) Allez dans chaque fichier .csproj du projet dans la solution, ouvrez-le dans le bloc-notes puis supprimez la partie du fichier xml et enregistrez-la.
2) Ensuite, j'ai supprimé tous les fichiers package.config de la solution.
3) Ensuite, j'ai dû supprimer les dossiers .nuget et package.
À ce stade, j'avais une solution totalement gratuite de NuGet.
4) Ensuite, j'ai manuellement référencé toutes les DLL nécessaires et cliqué sur Compile. La solution a fonctionné comme un champion sans les packages NuGet.
Supprimez le fichier packages.config de votre solution.
J'ai accidentellement activé cette option de "restauration de paquet" lors de l'ouverture de mon projet dans VS2012 RC et commencé à recevoir des erreurs ressemblant à ceci:
"Erreur 1 Impossible de localiser 'C:\FolderX\SomeProject.nuget\nuget.exe'"
Pour corriger l'erreur, j'ai suivi les instructions ci-dessus, ouvert chaque fichier de projet dans le bloc-notes et supprimé cette ligne RestorePackage.
J'ai pu résoudre ce problème en prenant les mesures suivantes:
1) Assurez-vous de sauvegarder toutes vos modifications actuelles des fichiers extraits.
2) supprimez physiquement le dossier de la solution de votre C:\(chemin mappé vers TFS).
3) Obtenez les dernières nouvelles 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 !