Je suis en train de travailler sur le même projet que Tomas et j'ai essayé de comprendre lorsque ce problème se produit et pourquoi. Il semble que ce qui se passe quand on a un ou plus anciennes versions d'un paquet dans le dossier packages et essayer de la question de la "mise à jour-package' de la commande.
Avant d'émettre la commande de notre dossier packages et de configuration ressemble à ceci:
Dossier Packages:
Common.WebApi.1.0.0.109
Common.WebApi.1.0.0.110
Les paquets de config:
<packages>
<package id="Common.WebApi" version="1.0.0.110" />
<package id="System.Json" version="4.0.20126.16343" />
<package id="System.Net.Http" version="2.0.20126.16343" />
</packages>
Maintenant, lors de l'émission 'update-package Commun.WebApi' on obtient l'erreur:
Update-Package : 'OPF.Commun.WebApi' a pas été installé dans n'importe quel projet. Mise à jour a échoué.
Pour le fixer j'ai supprimer l'ancien paquet Commune.WebApi.1.0.0.109' dans le dossier packages et exécutez à nouveau la commande qui fonctionne alors.
La question évidente est: Pourquoi ai-je un vieux paquet dans mon dossier packages? Ce qui nous arrive parce que nous n'avons pas committ nos propres paquets de contrôle à la source. Au lieu de cela, nous utilisons l'approche qui est décrite ici: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
Le "vieux paquet de problème" qui se trouve dans cette situation:
1. Développeur met à jour un package et engage le paquet.la configuration de contrôle de code source
2. Développeur B obtient la dernière version à partir du contrôle de code source et reçoit le package de mise à jour.config
3. Développeur B de la réalisation du projet et le nouveau package est créé dans son dossier packages
4. Nuget ne supprime pas développeur B de l'ancien paquet à partir de son dossier packages afin Développeur B dispose à présent de l'ancien paquet et le nouveau paquet dans son dossier packages, mais seulement une référence dans le package.la configuration de la nouvelle version.
Pour moi, il semble que Nuget ne pas s'attendre à avoir plus d'une version d'un package dans le dossier packages et devient confus lorsque vous essayez de mettre à jour un package qui dispose de plusieurs versions [dans le dossier packages] même si vous faites référence uniquement à un seul package à partir du paquet.config.