NuGet Spec dépendances, obtenir la dernière version?

Dans les documents NUSPEC versioning {[8] } je vois

1.0  = 1.0 ≤ x
(,1.0]  = x ≤ 1.0
(,1.0)  = x < 1.0
[1.0] = x == 1.0
(1.0) = invalid
(1.0,) = 1.0 < x
(1.0,2.0) = 1.0 < x < 2.0
[1.0,2.0] = 1.0 ≤ x ≤ 2.0
empty = latest version.

J'ai un packages.config, ce qui ressemble à ceci

<packages>
  <package id="psake" version="4.2.0.1" />
</packages>

Et je voudrais changer la version en "latest".

J'ai essayé les deux

<packages>
  <package id="psake" version="" />
</packages>

Et

<packages>
  <package id="psake" />
</packages>

Mais les deux résultent en Unable to parse version value '' from 'packages.config'.

J'utilise Nuget.exe 2.8.2

27
demandé sur George Mauer 2014-07-15 22:43:23

4 réponses

Comme de Nuget 2.8, vous pouvez ajouter l'attribut suivant à votre nuget.config

<configuration>
    <config> 
        <add key="dependencyversion" value="Highest" /> 
    </config>
</configuration>

Lors de la résolution de vos paquets, la dernière version de ce paquet sera résolue. Les autres attributs incluent HighestMinor, HighestPatch et lowest (basé sur le versioning sémantique)

Source: http://docs.nuget.org/docs/release-notes/nuget-2.8

31
répondu Joseph Devlin 2017-07-26 17:47:30

Je suppose que vous essayez d'utiliser nuget install ou NuGet restore pour réduire le paquet NuGet en utilisant NuGet.EXE.

L'attribut version dans les paquets.config définit la version installée dans le projet ou la solution.

Pour obtenir la dernière version du paquet psake NuGet, vous devez l'installer à l'aide de la console Gestionnaire de paquets, ou de la boîte de dialogue Gérer les paquets ou en connaissant la version exacte du paquet, en l'ajoutant dans les paquets.fichier de configuration, et en utilisant restauration du paquet. Comme psake est un paquet de niveau solution, il ne met pas à jour votre projet, la dernière option est réalisable.

Les plages de versions sont utilisées pour restreindre les versions de package autorisées à être installées dans votre projet.

<packages>
    <package id="SomePackage" version="2.1.0" allowedVersions="[2,3)" />
</packages>
4
répondu Matt Ward 2014-07-15 20:01:40

Vous pouvez également exécuter restore sur une version arbitraire suivie de update selon https://docs.nuget.org/consume/command-line-reference . pour assurer la dernière, vous devez relancer update.

Mettre à jour les paquets vers les dernières versions disponibles. Cette commande met également à jour NuGet.exe lui-même. Veuillez noter que le dossier présence de paquets est requis pour exécuter la commande Update. Un moyen recommandé est d'exécuter NuGet.commande de restauration exe d'abord avant d'exécuter la mise à jour commande.

0
répondu KCD 2015-07-09 01:40:10

, Vous pouvez modifier votre .fichier cspoj pour exécuter une cible "BeforeBuild" comme ceci:

<Target Name="BeforeBuild"> <Exec Command="&quot;$(SolutionDir).nuget\NuGet&quot; update &quot;$(ProjectDir)packages.config&quot; -Id psake" /> </Target>

Notez que: vous aurez besoin d'avoir le " Nuget.exe " dans le répertoire de votre solution.

-1
répondu Shafaet Karim 2015-04-14 07:12:28