No se pudo cargar el archivo o ensamblado … El parámetro es incorrecto

Recientemente conocí la siguiente excepción en la solución C #:

Error 2 No se pudo cargar el archivo o ensamblado ‘Newtonsoft.Json, Version = 3.5.0.0, Culture = neutral, PublicKeyToken = b9a188c8922137c6’ o una de sus dependencias. El parámetro es incorrecto. (Excepción de HRESULT: 0x80070057 (E_INVALIDARG))

Esto no depende ni de mi código ni del nombre del ensamblado (como Newtonsoft.Json en este caso).

Cuando elimino este dll de la solución, el comstackdor informa sobre otro en la misma excepción. Así que supongo que algo debería ser apagado / encendido en mi PC 🙂

Parece que se hace referencia a un ensamblaje dañado.

Limpia los dos:

  1. la carpeta \ bin de tu proyecto

  2. la carpeta temporal (debe ser C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files en Windows 7)

y ver si el error todavía sucede

Dependiendo de si está ejecutando X64, es posible que necesite limpiar un par de puntos más. Solo limpiar mi directorio de usuarios no fue suficiente.

  1. % TEMP% \ Archivos temporales ASP.NET
  2. C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Archivos temporales ASP.NET
  3. C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Archivos temporales ASP.NET
  4. C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Archivos temporales ASP.NET
  5. C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Archivos temporales ASP.NET

Esta lista crecerá como si tuviera otras versiones del marco instaladas.

Tuve que limpiar

C: /Windows/Microsoft.NET/Framework/v4.0.30319/ Archivos temporales de ASP.NET

Solo entonces se resolvió el problema.

Para saber qué borrar con seguridad, agregue la siguiente clave de registro:

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\EnableLog (DWord set to 1). 

Entonces verá resultados como a continuación. Esto le indica dónde asp.net está intentando cargar sus archivos DLL. Borrar este directorio

 LOG: This bind starts in default load context. LOG: Using application configuration file: c:\app\AtlasAdvisor\web\web.config LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL **file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3c8629f7/dfa387b6/Avanade.ViddlerNet.DLL.** LOG: Attempting download of new URL **file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3c8629f7/dfa387b6/Avanade.ViddlerNet/Avanade.ViddlerNet.DLL**. 

Elimine los archivos de marcos temporales para su proyecto en:

C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Archivos temporales ASP.NET \

También puede borrar el directorio de paquetes y permitir que NuGet vuelva a descargar los paquetes que faltan

solucionó el problema para mí

Eliminar todos los archivos de estas carpetas.

C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files C: /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files

Obtener nuevo conjunto de binarios del control de fuente ayudó.

Gracias

Simplemente borre esta carpeta: (solo Windows x64)

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Archivos temporales ASP.NET

Gracias Alex tu segundo punto me ayudó a solucionar esto.

Parece que, a menos que ejecute Visual Studio como administrador en Windows 7, almacenará sus archivos temporales localmente en lugar de C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Archivos ASP.NET temporales.

Consulte la siguiente publicación del blog: http://www.dotnetscraps.com/dotnetscraps/post/Location-of-Temporary-ASPNET-files-in-Vista-or-Windows-7.aspx

Tuve el mismo problema aquí: las soluciones anteriores no funcionaron. El problema fue con ActionMailer. Ejecuté la siguiente desinstalación e instalé los comandos nuget

 uninstall-package ActionMailer install-package ActionMailer 

Resolvió mis problemas, con suerte ayudará a alguien más.

Solo borré los datos temporales de mi aplicación de esta ruta

 C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files 

Resolución de problema

La eliminación de C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Archivos temporales de ASP.NET funcionó para mí. Pensando en automatizar el proceso de eliminación para evitar el problema en el futuro.

Si está utilizando las herramientas de datos de SQL Server 2012, que usa el shell VS2010 a partir del 1 de mayo de 2013, verifique su configuración de Configuration Manager. Un cambio de nombre de servidor de Workflow a xCPWorkflow fue suficiente para producir el mismo mensaje. El parámetro es incorrecto (excepción de HRESULT: 0x80070057 (E_INVALIDARG)) .

Esto puede suceder al hacer referencia a dlls de contenedor COM. Dentro de su Proyecto de Visual Studio, en Referencias, seleccione las DLL de envoltura COM a las que se hace referencia y asegúrese de que tengan los siguientes valores de propiedad: “Tipos de interoperabilidad incrustados”: Falso y “Versión específica”: Falso.

Puede limpiar, crear o reconstruir su aplicación o simplemente eliminar archivos temporales de ASP.NET en C: \ Users \ YOUR USERNAME \ AppData \ Local \ Temp

Esto funciona como magia. En mi caso, tuve un problema de ensamblaje vinculante que decía No se pudo cargar el archivo bla bla bla

también puede ver la solución 2 como http://www.codeproject.com/Articles/663453/Understanding-Clean-Build-and-Rebuild-in-Visual-St

Veo que muchos técnicos han publicado sobre la eliminación de directorios temporales del tiempo de ejecución ASP .Net relacionados con todos y cada uno de los frameworks .Net alojados en su máquina como en esta respuesta. Pero creo que deberíamos saber la logística clara de por qué tenemos que borrar ciegamente todos los directorios de trabajo temporales de todos los .Net frameworks. Según yo, no debería ser el caso.

Mi consejo es que debes probar un enfoque de eliminación de directorios para resolver este problema. ¿Cómo sabría qué directorio borrar?

  1. Vaya a IIS y haga clic con el botón derecho en su nodo de sitio web en el panel de navegación izquierdo para abrir el menú contextual. En el menú contextual, seleccione Manage Application -> Advanced Settings... para abrir la ventana Advanced Settings .
  2. Compruebe el grupo de aplicaciones al que está asignado su sitio web. En mi caso, es DefaultAppPool como se muestra a continuación:

enter image description here

  1. Ahora vaya al nodo Application Pools en la barra de navegación izquierda en IIS. Ahora compruebe qué Versión .Net CLR está ejecutando su grupo de aplicaciones. En mi caso es v4.0 como se muestra a continuación:

enter image description here

Dado que la versión de CLR alojada por mi grupo de aplicaciones es v4.0, por lo que solo eliminé de manera pr_pia los archivos temporales en la carpeta perteneciente a ASP .NET v4.0 solo a continuación:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files 

Y eso es. Mi problema se resolvió

Lección aprendida : Esto es indicativo del hecho de que todos los archivos temporales que está utilizando su sitio web no están dispersos en varios directorios, sino que están a la vez referidos por su grupo de aplicaciones. Por lo tanto, solo debe borrar esa carpeta específica.

El problema está relacionado con la versión de tiempo de ejecución de .Net de una biblioteca de clases referenciada (referencias ampliadas, seleccione la biblioteca y compruebe la “Versión en tiempo de ejecución”. Tuve un problema con Antlr3.Runtime, después de actualizar mi proyecto de Visual Studio a la versión 4.5. utilicé NuGet para desinstalar Microsoft ASP.NET Web Optimization Framework (debido a una cadena de dependencias que me impedía desinstalar Antlr3 directamente)

Luego utilicé NuGet para reinstalar el Microsoft Web Optimization Framework de Microsoft. Esto reinstaló las versiones de tiempo de ejecución correctas.

En mi caso, quería comstackr una DLL visible COM. El problema era que una versión anterior de esta DLL se encontraba aquí:

 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE 

Por lo tanto, Visual Studio cargó esta versión en lugar de la recién comstackda, ya que intentó registrarla.

Borre todos los archivos de la carpeta temporal (carpeta C: \ Users \ user_name \ AppData \ Local \ Temp \ Temporal ASP.NET Files \ project)

En ocasiones, también necesita limpiar esta carpeta: C: \ Windows \ Temp \ Temporal ASP.NET

Me enfrenté al mismo error porque la aplicación no encontró marcos dependientes en la carpeta C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\ . Solo repare mi Visual Studio que agregó el marco requerido en la ubicación anterior y funciona bien.

En mi caso, al cambiar el número de puerto de IISExpress en las propiedades de mi proyecto, se solucionó el problema.

Si alguien más está utilizando el conjunto de herramientas de WiX, descubrí que mi proyecto de instalador tenía una referencia a un proyecto anterior que se había eliminado recientemente de la solución. Me tomó un tiempo darme cuenta ya que hay una cantidad de proyectos en la solución que estaba intentando construir y el mensaje no indicaba qué proyecto no se pudo construir (y limpio, lo que también estaba fallando).

Los usuarios de Siemens Teamcenter 10 Client para Microsoft Office obtuvieron el mismo error sobre una DLL diferente. Ninguna de las otras respuestas funcionó. La solución fue eliminar las carpetas en

 C:\Users\%username%\AppData\Local\assembly\ 

Tuve este problema al hacer el controlador en MVC. Cambié la versión del framework .net. El problema fue resuelto