2012-01-10 5 views
15

Sto tentando di installare un pacchetto nuget che ha erroneamente specificato una delle sue dipendenze. Common.Logging.Log4Net richiede log4net = 1.2.10 tuttavia il pacchetto nuget specifica log4net> = 1.2.10. Anche se installo manualmente la versione precedente di log4net, nuget aggiorna log4net a 1.2.11 quando installo Common.Logging.Log4Net. Come posso ottenere che nuget elimini la risoluzione delle dipendenze o almeno preferisca i pacchetti installati di una versione sufficiente?Come posso impedire a nuget di aggiornare le dipendenze?

risposta

33

Al fine di bypassare la dipendenza risoluzione è possibile utilizzare l'opzione -IgnoreDependencies:

Install-Package -IgnoreDependencies ThePackageName 

Si dovrebbe essere in grado di bloccare il pacchetto a una versione specifica del packages.config e impostando la-editing mano Attributo allowVersions per indicare l'estensione della versione che si desidera consentire.

<package id="Common.Logging.Log4Net" version="1.2.10" 
    allowedVersions="[1.2,1.2.10]" /> 

Nota che la sua volontà, tuttavia, non aggiornare la versione del pacchetto a tutti, anche quando si aggiorna in modo esplicito il pacchetto.

Vedere nuget versioning documentation per ulteriori informazioni sul controllo delle versioni.