6

Cuando instalo el paquete de NuGet WebAPI, me da la versión 1.0.0.0 de System.Net.Http, sin embargo, hace referencia a la versión 2.Web Api: System.Net.Http versión 2.0.0.0 no encontrado

Parece que no puedo encontrar la versión 2 por mi vida. Cuando descargo .net 4.5 obtengo la versión 4.0.315.x de System.Net.Http, pero no puedo usar eso porque los ensamblados de Web Api se refieren a la versión 2.0.0.0.

¿Alguien sabe dónde puedo encontrar esta versión 2.0.0.0? He probado el administrador de paquetes NuGet, mvc4, .net 4.5, y nada me está dando la versión 2.

Gracias de antemano.

+0

Cuando agrego WebApi a través de NuGet, agrega 'Microsoft.Net.Http' v2.0.20505.0, que también trae' System.Net.Http' v2.0.0.0. Busque en la carpeta lib en el directorio de paquetes. – adrianbanks

+0

Cuando voy a esa carpeta y compruebo la versión de ese System.Net.Http.dll, es v1.0.0.0. Acabo de quitar el paquete y volver a descargarlo para estar seguro. – CDubbz31

+0

Tengo la referencia a la versión 2.0.0.0, el problema es que no tengo el ensamblado. Todos mis ensamblajes son versiones 1.0.0.0 o 4.0.315.x. – CDubbz31

Respuesta

12

Añadir a continuación la configuración dentro de su archivo Web.config bajo <system.web> nodo (asumiendo que su aplicación se ejecuta en .NET 4.5, targetFramework atributo se establece en 4,5):

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

También añadir el siguiente uno en la raíz nivel bajo <configuration> nodo:

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

Esto debería resolver su problema.

+0

funciona como un encanto! Gracias :) –

Cuestiones relacionadas