ServiceStack.Interfaces.dll wird nicht mehr in abhängige Projekte kopiert

8

Nach dem Upgrade auf ServiceStack v3.9.70 über nuGet ab v3.9.43 habe ich festgestellt, dass ServiceStack.Interfaces.dll nicht mehr in Projekte kopiert wird, die von der Klassenbibliothek abhängen, die ServiceStack verwendet. Dies verursacht den folgenden Fehler:

%Vor%

Alle anderen ServiceStack-DLLs werden kopiert, nur ServiceStack.Interfaces fehlt. Alle Verweise werden auf Copy Local = True gesetzt, und dies Der Vorschlag von StackOverflow löst das Problem nicht.

Ich habe festgestellt, dass ServiceStack.Interfaces.dll der einzige mit einer Version von 1.0.0.0 ist, alle anderen sind auf 3.9.70.0 gesetzt. Könnte das ein Grund sein?

Weiß jemand, wie man es repariert, ohne die Datei ServiceStack.Interfaces.dll in allen Projekten, die auf meine Klassenbibliothek verweisen, manuell zu referenzieren?

Update - 2014-03-06

Problem existiert noch mit v3.9.71.0. Es hängt wirklich mit der Tatsache zusammen, dass die ServiceStack.Interfaces -Assembly ihre Version auf 1.0.0.0 hat, anstatt sie zu sein.

Ich habe das Github-Repository für ServiceStack geklont und diese Zeile in der build\build.proj -Datei geändert und build\build.bat ausgeführt.

%Vor%

dafür (bemerkte den entfernten Ausschluss)

%Vor%

Ergebnis : Jetzt funktioniert es korrekt, d. h. die Datei ServiceStack.Interfaces.dll wird in Projekte kopiert, die auf ein Projekt verweisen, das auf ServiceStack verweist.

Kann mir das jemand erklären? Warum sollten Sie die Schnittstellen von der Versionierung ausschließen?

    
dstj 11.11.2013, 22:35
quelle

1 Antwort

1

Die Assembly-Versionen wurden ab Release v4 absichtlich von 3.9. * auf 1.0.0.0 geändert.

Wahrscheinlich lag es an v4 ServiceStack.Interfaces.dll geändert werden zu starkem Namen und Version 4.0 . Die 'bsd' 3.9. * Version wurde auf 1.0 zurückgesetzt, wahrscheinlich um die älteste mögliche Version zu sein.

Weitere Einzelheiten finden Sie in diese SO Antwort .

    
Raul Nohea Goodness 10.03.2014 15:50
quelle

Tags und Links