Tengo una pequeña aplicación MVC que uso por razones de práctica, pero ahora me encuentro con un error cada vez que intento depurar:
Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies.
The system cannot find the path specified.
Busqué en Google pero no puedo encontrar una solución. Estoy usando .NET 4.5.
No puede ser el archivo DLL porque estoy usando .Net 4.5.
c#
asp.net
.net
asp.net-mvc-4
Norris
fuente
fuente
Respuestas:
Cada vez que tengo un error NuGet como estos, generalmente sigo estos pasos:
Tomar todos estos pasos casi siempre restaura todos los paquetes y dll que necesito para mi programa MVC.
EDITAR >>>
Para Visual Studio 2013 y superior, el paso 2) debería leer:
fuente
Eliminar todas las referencias de código a
System.Net.*
en la ventana del paquete,
Install-Package Microsoft.AspNet.WebApi.Client
Limpia y reconstruye tu proyecto
fuente
Web.Config
bindingRedirect
paraSystem.Net.Http.Formatting
ySystem.Web.Http
el nuevo instalado por el comando anterior ... es decir, pasó de<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
ser<bindingRedirect oldVersion="0.0.0.0-4.0.30319" newVersion="4.0.30319"/>
Encontré un extra
en mi web.config. eliminado eso para que funcione. otro paquete que instalé y luego eliminé causó el problema.
fuente
user3919888 me señaló en la dirección correcta, pero necesitaba ejecutar
Update-Package -reinstall Microsoft.AspNet.WebApi.Client
en la consola de Package-Manager. La instalación básica por sí sola no reconoce el problema pero reconoce que el paquete ya está instalado y no lo sobrescribe.Estoy publicando esta respuesta porque esto sucede con tan poca frecuencia que termino buscando en Google y llegando a esta página antes de recordar lo que hice la última vez.
fuente
Eliminar las siguientes líneas de
web.config
resolvió mi problema. Tenga en cuenta que en este proyecto no utilicé componentes de WebApi. Entonces, para otros, esta solución puede no funcionar como se esperaba.fuente
Para aquellos que usan proyectos .NET Standard en combinación con proyectos de .NET Framework :
De la manera .NET Standard, los paquetes que se incluyen en un proyecto .NET Standard se usarán correctamente en otros proyectos .NET Core y .NET Standard.
En la forma de .NET Framework, si se refiere a un proyecto .NET Standard de un proyecto .NET Framework (MVC), debe descargar e instalar manualmente los mismos paquetes nuget.
Entonces, la respuesta a mi pregunta fue que tuve que descargar e instalar
Microsoft.AspNet.WebApi.Client
en el proyecto web (.NET Framework) que está usando un proyecto .NET Standard dondeMicrosoft.AspNet.WebApi.Client
se necesita. De hecho, ya tenía esto instalado pero había una diferencia de versión.Solo agrego esta respuesta para que otros la vean, puede que no responda directamente la pregunta de OP, pero me ahorró tiempo al verificar esto en lugar de hacer las respuestas más votadas.
fuente
System.Net.*
Microsoft.AspNet.WebApi
y sus dependencias.Microsoft.AspNet.WebApi
y sus dependencias.fuente
Como se sugirió originalmente en un comentario de GeoMac y documentado en los documentos de NuGet, lo siguiente funcionó para mí cuando ninguna de las otras respuestas funcionó:
Herramientas / NuGet Package Manager / Package Manager Console
fuente
En mi caso, ninguna de las soluciones anteriores funcionó. Lo resolví haciendo clic derecho en la referencia
desde Visual Studio y estableciendo la propiedad Copy Local en true .
Espero que esto sea útil de alguna manera.
fuente
Lo que resolvió este molesto error para mí fue cerrar Visual Studio y volver a abrirlo. Luego reconstruya la solución y todo volvió a funcionar. Perdón por la respuesta basura, pero creo que vale la pena una respuesta porque me la resolvió.
fuente
Para mí fue tan simple como
Microsoft.AspNet.WebApi.Client
de la carpeta de paquetes en el Explorador de Windowsfuente
En mi caso, ninguno de los anteriores funcionó, sin embargo, reemplazar 5.2.3.0 con 4.0.0.0 resolvió el problema.
fuente
Estaba enfrentando el mismo problema porque
la versión escrita dentro de webconfig era 5.0.3 pero dentro de la carpeta bin la biblioteca System.Net.Http.Formatting dll versión era 4.0.2
así que acabo de reemplazar con el mismo dado dentro del contenedor
solo haz este proyecto limpio y construye
fuente
Probablemente necesite configurar la referencia de la biblioteca como "Copiar Local = Verdadero" en el diálogo de propiedades. En Visual Studio, haga clic en "referencias" y luego haga clic con el botón derecho en la referencia que falta, en el menú contextual haga clic en propiedades, debería ver la configuración local de copia.
fuente
Para mí, agregar algunos debajo de la línea en WebApi.config funciona ya que después de actualizar el nuevo paquete nuget no funcionó
No olvides agregar espacio de nombres:
fuente
Lo que hice para resolver este problema es
Vaya al administrador de paquetes NuGet.
Seleccione Actualizaciones (desde el panel izquierdo)
Actualizar componentes de WebApi
Después de eso, el proyecto se ejecutó sin errores.
fuente
VS2019: Herramientas -> Administrador de paquetes Nuget -> Configuración del Administrador de paquetes -> en la sección Restauración de paquetes, marque 2 opciones. Después de eso, vaya a la carpeta de paquetes del proyecto y elimine todas las carpetas secundarias del interior (para que no haya ningún error). Luego, reconstruya la solución, Nuget volverá a descargar todos los paquetes y el proyecto debería ejecutarse sin ninguna referencia.
fuente
Tuve el problema con un proyecto ASP.NET en VS 2019.
Otro síntoma fue que algunas referencias (System.Web.Http) se marcaron como defectuosas en la lista de referencias del proyecto (Solution Explorer)
Mi solución:
La causa:
Al observar la diferencia en el archivo csproj, pude ver la razón del problema. ¡Alguien logró hacer referencia a una DLL en la carpeta de archivos del Programa de Windows!
fuente