2016-08-09 28 views
0

ich vor kurzem mit einer Vielzahl von Problemen rund um nuget beschäftigt haben, wo wir gerade wie eine kryptische Nachricht erhalten:Wie Paketabhängigkeitsprobleme diagnostizieren nuget

Fehler Kann Abhängigkeiten lösen. 'XXX 21.0.23-Main' ist nicht kompatibel mit 'YYY 21.0.13-Main constraint: XXX (> = 21.0.23)'.

Es gibt keine nützlichen Nachrichten darüber hinaus und das Paket XXX ist Version 21.0.23 und ist zugänglich. Kann jemand irgendwelche Werkzeuge oder Ansätze vorschlagen, die mir helfen, diese Art von Problemen zu lösen? Ich habe Tage damit verbracht, nach Antworten zu suchen, ohne Glück.

Danke.

Antwort

1

Das sieht so aus, als hätten Sie eine Versionsabhängigkeit angegeben, während die NuGet-Pakete Vorabversionen sind.

Für ein Pre-Release NuGet Paket Version 21.0.23-Main ist eine niedrigere Version als 21.0.23, die ein Release-Build ist. Also, was die Fehlermeldung Ihnen sagt, ist richtig.

Sie müssen also entweder die Abhängigkeitsversion auf 21.0.22 ändern oder eine Vorabversion als Abhängigkeit angeben. Ähnlich wie:

XXX (>= 21.0.23-alpha1) 
+0

Vielen Dank! Ist das irgendwo dokumentiert und ich habe es einfach verpasst? – Sam

+1

Ein kurzer Blick auf die NuGet-Dokumentation gibt es einen Absatz auf der Versions-Seite über den Vergleich der Vorabversionen mit den Release-Versionen - https://docs.nuget.org/create/versioning - das ist alles, was ich finden kann. –

+0

Ich sehe es, das kritische Bit der Informationen, die gerade dort ohne Fanfare sitzen :("Wenn Sie bereit sind zu veröffentlichen, entfernen Sie einfach den Strich und die Zeichenfolge und diese Version wird als" höher "als alle Vorabversionen angesehen. Zum Beispiel , die stabile Version 1.0.1 ist größer als 1.0.1-rc " – Sam