2016-04-02 18 views
0

Ich habe daran gearbeitet, NuGet Versionierung in meinem ASP Core-Projekt entfernt und bin auf einige seltsame Verhaltensweisen gestoßen und möchte fragen, warum sie beschlossen, es so zu machen.NuGet Versioning ist rückwärts

1) Wählen Sie die niedrigste Version in einer Reihe.

Beispiel: [1.0.0, 2.0.0) Bedeutet nicht, wählen Sie die neueste Version in 1.X.X, sondern wählen Sie die niedrigste Version, grundsätzlich immer 1.0.0 und nie aktualisieren.

2) die spezifische Version Einstellung wählt eine andere Version

ex: "1.0.0" wählen wird "1.0.X" wirklich. Dieser betrifft mich wirklich. Ich möchte sicherstellen, dass alle zukünftigen Builds immer die gleiche Version verwenden, wenn ich Code mit einer bestimmten Version taggezeichne. Mit dieser Implementierung sind Builds nicht garantiert reproduzierbar!

Ich komme von der Verwendung von Maven und NPM und versuche, andere Möglichkeiten der Versionierung offen zu halten, aber diese beiden verblüffen mich.

Bitte helfen Sie mir zu verstehen, warum sie dies tun würden, grundsätzlich rückwärts von anderen Paket-Manager-Lösungen.

+0

Wie kann ich eine Version angeben und NuGet zwingen, nur diese Version zu benutzen? –

+0

Ist NuGet Enterprise bereit? Ich habe eine Version angegeben und jetzt sagt sie mir, dass sie eine niedrigere Version gelöst hat ... Ich habe das Gefühl, dass NuGet einige gute Ideen hat, aber nicht für die Prime Time bereit ist. –

Antwort

1
  1. Sie können eine Floating-Version verwenden, wenn Sie die neueste Version, z. B. 1.0. *, Möchten.
  2. Ich denke, Sie sind hier falsch. Wenn 1.0.0 angefordert wird, wird 1.0.0 installiert, wenn 1.0.0 auf dem NuGet-Server verfügbar ist. Wenn es nicht auf dem Server gefunden wird, installiert es die nächstliegende Version, 1.0.1.

Das ist ziemlich gut bei

dokumentiert

http://docs.nuget.org/consume/ProjectJson-Dependency#dependency-resolution-in-nuget-v3-/-project.json

+0

Ich verstehe, dass es ist, was es tut, ich suchte nach, warum sie sich dafür entschieden haben. Ich denke, es ist eine schlechte Design-Wahl. –