6

gefunden Wenn ich das NuGet Paket für WebAPI installieren, gibt es mir Version 1.0.0.0 von System.Net.Http, aber es verweist Version 2.Web Api: System.Net.Http Version 2.0.0.0 nicht

Ich kann nicht scheinen, Version 2 für das Leben von mir zu finden. Wenn ich .net 4.5 lade, erhalte ich System.Net.Http Version 4.0.315.x, aber ich kann das nicht verwenden, da sich die Web-API-Assemblies auf Version 2.0.0.0 beziehen.

Wer weiß, wo ich diese Version 2.0.0.0 finden kann? Ich habe den NuGet Paketmanager, mvc4, .net 4.5 versucht, und nichts gibt mir Version 2.

Dank im Voraus.

+0

Wenn ich das WebApi über NuGet hinzufüge, fügt es 'Microsoft.Net.Http' v2.0.20505.0 hinzu, das' System.Net.Http' v2.0.0.0 auch holt. Suchen Sie im Verzeichnis lib nach dem Ordner lib. – adrianbanks

+0

Wenn ich in diesen Ordner gehe und die Version dieser System.Net.Http.dll überprüfe, ist es v1.0.0.0. Ich habe das Paket einfach entfernt und es neu heruntergeladen, um sicher zu gehen. – CDubbz31

+0

Ich habe den Verweis auf Version 2.0.0.0, Problem ist, dass ich die Baugruppe nicht habe. Alle meine Assemblys sind entweder Version 1.0.0.0 oder 4.0.315.x. – CDubbz31

Antwort

12

Fügen Sie die unten Konfiguration in Ihrer Datei Web.config unter <system.web> Knoten (läuft Ihre App unter der Annahme, auf .NET 4.5, targetFramework Attribut ist auf 4,5):

<compilation targetFramework="4.5"> 
    <assemblies> 
    <add assembly="System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    </assemblies> 
</compilation> 

Auch die an der Wurzel unter einem hinzufügen Ebene unter <configuration> Knoten:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

Dies Ihr Problem lösen soll.

+0

funktioniert wie ein Charme! Vielen Dank :) –