wake-up-neo.net

nuget Spec Abhängigkeiten, neueste Version erhalten?

In den nuspec-Versionsdokumenten sehe ich

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.

Ich habe einen packages.config, der so aussieht

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

und ich möchte die Version auf "aktuell" ändern.

Ich habe beide probiert 

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

und

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

aber beide führen zu Unable to parse version value '' from 'packages.config'.

Ich verwende Nuget.exe 2.8.2

27
George Mauer

Ab Nuget 2.8 können Sie Ihrer nuget.config das folgende Attribut hinzufügen

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

Beim Auflösen Ihrer Pakete wird die neueste Version dieses Pakets aufgelöst. Andere Attribute sind HighestMinor, HighestPatch und Low (basierend auf semantischer Versionierung).

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

31
Joseph Devlin

Ich vermute, Sie versuchen Nuget Install oder Nuget Restore zu verwenden, um das NuGet-Paket mit NuGet.exe herunterzuziehen.

Das Versionsattribut in der packages.config definiert die im Projekt oder in der Projektmappe installierte Version.

Um die neueste Version des NuGet-Pakets von psake zu erhalten, müssen Sie es über die Package Manager-Konsole oder über das Dialogfeld "Pakete verwalten" installieren oder die genaue Version des Pakets kennen, diese in die Datei packages.config einfügen und die Paketwiederherstellung verwenden . Da es sich bei psake um ein Paket auf Lösungsebene handelt, wird Ihr Projekt nicht aktualisiert. Die letzte Option ist möglich. 

Die Versionsbereiche werden verwendet, um die Paketversionen einzuschränken, die in Ihrem Projekt installiert werden dürfen.

<packages>
    <package id="SomePackage" version="2.1.0" allowedVersions="[2,3)" />
</packages>
4
Matt Ward

Alternativ können Sie restore in einer beliebigen Version ausführen, gefolgt von update gemäß https://docs.nuget.org/consume/command-line-reference . Um den neuesten Stand sicherzustellen, müssen Sie update erneut ausführen.

Aktualisieren Sie die Pakete auf die neuesten verfügbaren Versionen. Dieser Befehl aktualisiert auch NuGet.exe selbst. Bitte beachten Sie, dass der Ordner "Packages" vorhanden ist, um den Update-Befehl auszuführen. Es wird empfohlen, zuerst den NuGet.exe-Wiederherstellungsbefehl auszuführen, bevor der Aktualisierungsbefehl ausgeführt wird.

0
KCD