Estoy trabajando en el mismo proyecto que Tomas y he intentado averiguar cuándo ocurre este problema y por qué. Parece que esto sucede cuando tenemos una o más versiones anteriores de un paquete en la carpeta de paquetes y tratamos de emitir el comando 'update-package'.
Antes de emitir el comando de nuestra carpeta de paquetes y la configuración es la siguiente:
Paquetes carpeta:
Common.WebApi.1.0.0.109
Common.WebApi.1.0.0.110
Paquetes de configuración:
<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>
Ahora, al emitir la 'actualización paquete Común .WebApi 'obtenemos el error:
Update-Package:' OPF.Common.WebApi 'no se instaló en ningún proyecto. Actualización fallida
Para solucionarlo Elimino el paquete anterior 'Common.WebApi.1.0.0.109' de la carpeta de paquetes y vuelvo a ejecutar el comando que luego funciona.
La pregunta obvia es: ¿Por qué tengo un paquete viejo en mi carpeta de paquetes? Esto nos sucede porque no comprometemos nuestros propios paquetes con el control de origen. En su lugar, se utiliza el método que se describe aquí: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
El 'viejo problema paquete' se produce en esta situación:
1. El desarrollador A actualiza un paquete y compromete a la package.config de control de código fuente
2.El desarrollador B obtiene la última versión del control de fuente y recibe el paquete.config actualizado
3. El desarrollador B crea el proyecto y el nuevo paquete se crea en su carpeta de paquetes
4. Nuget no elimina el paquete anterior del desarrollador B de sus paquetes carpeta para que el Desarrollador B tenga tanto el paquete anterior como el nuevo en su carpeta de paquetes, pero solo una referencia en el paquete.config a la nueva versión.
Para mí, parece que Nuget no espera que haya más de una versión de un paquete en la carpeta de paquetes y se confunde cuando intenta actualizar un paquete que tiene múltiples versiones [en la carpeta de paquetes] incluso aunque solo hace referencia a un solo paquete del paquete.config.
¿tiene múltiples soluciones en la misma carpeta de compartir una carpeta paquetes? ¿Está comprometiendo paquetes para el control de origen? – davidfowl
No y no. No compartimos la carpeta de paquetes entre las soluciones y no estamos comprometiendo el paquete en cuestión con el control de origen. Sin embargo, ya no es un problema. Acabo de eliminar todas las carpetas antiguas para los paquetes en cuestión y comenzó a funcionar de nuevo. –
Creo que podría haber tenido una versión diferente instalada en la carpeta de paquetes (ya que no los estoy registrando) en comparación con la especificada en package.config, ¿quizás eso tiene algo que decir? –