6

Kiedy zainstalować pakiet Nuget przez WebAPI, to daje mi wersję 1.0.0.0 z System.Net.Http, to jednak odwołuje wersji 2.Web API: System.Net.Http wersja 2.0.0.0 Nie znaleziono

Nie mogę znaleźć wersji 2 na moje życie. Po pobraniu .net 4.5 otrzymuję System.Net.Http w wersji 4.0.315.x, ale nie mogę tego użyć, ponieważ zespoły Web Api odnoszą się do wersji 2.0.0.0.

Ktoś wie, gdzie mogę znaleźć tę wersję 2.0.0.0? Próbowałem menedżera pakietów NuGet, mvc4, .net 4.5, i nic nie daje mi wersji 2.

Z góry dziękuję.

+0

Kiedy dodaję WebApi przez NuGet, dodaje on 'Microsoft.Net.Http' v2.0.20505.0, który również wprowadza' System.Net.Http' v2.0.0.0. Zajrzyj do folderu lib w katalogu pakietów. – adrianbanks

+0

Po przejściu do tego folderu i sprawdzeniu wersji tego pliku System.Net.Http.dll jest to wersja 1.0.0.0. Właśnie usunąłem pakiet i ponownie go załadowałem, aby się upewnić. – CDubbz31

+0

Mam odniesienie do wersji 2.0.0.0, problem polega na tym, że nie mam zespołu. Wszystkie moje złożenia są w wersji 1.0.0.0 lub 4.0.315.x. – CDubbz31

Odpowiedz

12

Dodaj poniższą konfigurację wewnątrz pliku web.config pod <system.web> węzła (zakładając swoją aplikację działa na .NET 4.5, targetFramework atrybut jest ustawiony na 4,5):

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

dodać Również poniżej jednego u nasady poziom pod <configuration> węzeł:

<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> 

To powinno rozwiązać twój problem.

+0

działa jak urok! dzięki :) –

Powiązane problemy