2016-05-12 3 views
0

Ich habe eine Klassenbibliothek, die ich über NuGet zur Verfügung stellen möchte. Es hat eine Abhängigkeit von Microsoft.AspNet.Mvc. Meine Bibliothek ist kompatibel mit Versionen> 4.0, die ich in meiner .nuspec Datei beschrieben habe.So stellen Sie ein NuGet-Paket bereit, das mit mehreren Versionen einer Abhängigkeit arbeiten kann

<dependencies> 
    <dependency id="Microsoft.AspNet.Mvc" version="4.0" /> 
</dependencies> 

Zu meinem Projekt entwickle ich hatte Microsoft.AspNet.Mvc, die ich über NuGet tat zu installieren.

Install-Package Microsoft.AspNet.Mvc 

Dies brachte abgespeckte Version 5.2.3.0, das kein Problem, bis ich mein NuGet Paket veröffentlichen und versuchen, es mit einer Anwendung, die Version hat 4.0.0.1 installiert. Ich erhalte den folgenden Fehler: -

Error 1 Assembly 'xxxxx, Version=0.0.2.22155, Culture=neutral, PublicKeyToken=null' uses 'System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 

Wie kann ich ein NuGet Paket erstellen, das mit allen Versionen von Microsoft.AspNet.Mvc arbeiten, die ich in der .nuspec Datei festlegen?

Antwort

0

Es gab eine bahnbrechende Änderung in nuget 3.4. Stellen Sie sicher, dass Sie mindestens v3.4 verwenden. Sie können dies tun, indem Sie "wo nugget" in der Befehlszeile ausführen. Gemäß Version 3.4 weist Ihre Abhängigkeitsversion nuget an, eine Version größer oder gleich v4.0 von Microsoft.AspNet.Mvc zu verwenden. Also, ja, du hast es richtig gemacht. Sie können mehr über Versionierung unter http://docs.nuget.org/Create/Versioning

erfahren
Verwandte Themen