2016-04-01 7 views
0

Wir haben vor weniger als 3 Monaten begonnen, verschiedene Projekte mit servicestack v4 zu erstellen.Servicestack nuget Versionierung

Wir installierten anderes Paket von servicestack bei Version 4.0.52 (servicestack.Common, servicestack.Interfaces, servicestack.Client etc ..)

Aufgrund einiger Installation/Update wir nur die servicestack.Interfaces auf 4.0 aktualisiert 0,54 und das diesen Fehler verursacht:

Method 'PostFilesWithRequest' in type 'ServiceStack.JsonServiceClient' from assembly 'ServiceStack.Client, Version=4.0.52.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

Nachdem alle Service-Stack-Paket 4.0.54 aktualisieren, behoben den Fehler (in der neuen Version von IRestClient sie neue Definition hinzugefügt).

Meine Frage ist:

  • wie servicestack die versioniong ihrer Freilassung zu behandeln?
  • Müssen wir jedes Servicestack-Paket jedes Mal aktualisieren, wenn es eine neue Version veröffentlicht?

I tought sie Semantische Versionierung verwenden, aber es scheint, es ist nicht der Fall ist (ein Patch sollte rückwärtskompatibel)

ich meine Frage wissen, eher wie ein beschweren klingt, aber ich bin mir ziemlich sicher, dass ich ist nicht der einzige mit diesem Problem:

Could not load type 'ServiceStack.IUrlFilter' from assembly 'ServiceStack.Interfaces...'

ServiceStack NuGet update 4.0.22 to 4.0.31 caused errors on deployment

Wir begannen auch eine servicestack api mit differen Entwicklung t Service kombiniert als Plugin, und dies könnte für die Wartung problematisch sein. Vielleicht müssen wir einen einzigartigen Weg finden, um alle dieses Update auf einmal zu behandeln.

Antwort

1

Fehlende Methodenausnahmen sind auf das gemeinsame Ausführen von schmutzigen Paketen aus verschiedenen Versionen zurückzuführen. Sie müssen sicherstellen, dass alle Pakete aus allen Projekten auf dieselbe Version verweisen. Es ist nicht unbedingt erforderlich, dass Clients die gleiche Version wie die Server-Bibliotheken haben, da sie keine binäre Kopplung haben, es wird jedoch empfohlen, sie zu befolgen, da einige neue Clientfunktionen auf neue Serverfunktionen zugreifen können, die zur gleichen Zeit veröffentlicht wurden.

ServiceStack liefert keine kleineren Patches an NuGet, jede NuGet-Version ist eine Hauptversion, alle Fixes zwischen den Versionen werden stattdessen unter veröffentlicht.

Offizielle NuGet-Pakete von ServiceStack werden in lock-step bereitgestellt, wobei alle 60 NuGet-Pakete von ServiceStack zur gleichen Zeit mit derselben Version veröffentlicht werden. Jede Version hat das Potenzial für eine nicht rückwärtskompatible Änderung in einem der modifizierten ServiceStack-Pakete, so dass sie alle gleichzeitig aktualisiert werden sollten.