Recientemente me encontré con la siguiente excepción en la solución C #:
Error 2 No se pudo cargar el archivo o ensamblado 'Newtonsoft.Json, Versión = 3.5.0.0, Cultura = 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 compilador informa sobre otro en la misma excepción. Así que supongo que algo debería estar apagado / encendido en mi PC :)
Respuestas:
Parece un ensamblaje dañado al que se hace referencia.
Limpia los dos:
la carpeta \ bin de su proyecto
la carpeta temporal (debe estar
C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files
en Windows 7)y ver si el error persiste
fuente
Dependiendo de si está ejecutando X64, es posible que deba limpiar un par de puntos más. Simplemente limpiar mi directorio de usuarios no fue suficiente.
Esta lista crecerá como si tuviera otras versiones del framework instaladas.
fuente
Tuve que despejar
Solo entonces se resolvió el problema.
fuente
Para saber qué borrar con seguridad, agregue la siguiente clave de registro:
Entonces verá la salida como a continuación. Esto le indica dónde asp.net está intentando cargar sus archivos DLL. Borrar este directorio
fuente
Borre los archivos de marco temporales para su proyecto en: -
C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Archivos temporales ASP.NET \
fuente
También puede borrar el directorio de paquetes y permitir que NuGet vuelva a descargar los paquetes que faltan
me resolvió el problema
fuente
Eliminar todos los archivos de estas carpetas.
fuente
Conseguir un nuevo conjunto de binarios del control de Source ayudó.
Gracias
fuente
Simplemente borre esta carpeta: (solo Windows x64)
fuente
Gracias Alex, tu segundo punto me ayudó a arreglar esto.
Parece que a menos que ejecute Visual Studio como administrador en Windows 7, almacena sus archivos temporales localmente en lugar de C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Archivos temporales ASP.NET.
Consulte la siguiente publicación de blog: http://www.dotnetscraps.com/dotnetscraps/post/Location-of-Temporary-ASPNET-files-in-Vista-or-Windows-7.aspx
fuente
Tuve el mismo problema aquí: las soluciones anteriores no funcionaron. El problema fue con ActionMailer. Ejecuté los siguientes comandos de desinstalación e instalación de nuget
Resolvió mis problemas, espero que ayude a alguien más.
fuente
Esto puede suceder al hacer referencia a los archivos DLL de contenedor COM. Dentro de su proyecto de Visual Studio, en Referencias, seleccione los dlls de contenedor COM a los que se hace referencia y asegúrese de que tengan los siguientes valores de propiedad: "Tipos de interoperabilidad de incrustación": Falso y "Versión específica": Falso.
fuente
Solo elimino los datos temporales de mi aplicación de esta ruta
Problema resuelto
fuente
Veo que muchos técnicos han publicado sobre la eliminación de directorios temporales de ASP .Net en tiempo de ejecución relacionados con todos y cada uno de los marcos .Net alojados en su máquina como en esta respuesta. Pero creo que deberíamos conocer la logística clara de por qué necesitamos borrar ciegamente todos los directorios de trabajo temporales de todos los marcos .Net. Según yo, no debería ser el caso.
Mi consejo sería que intentes un enfoque de eliminación de directorios con punta de alfiler para resolver este problema. ¿Cómo sabrías qué directorio borrar?
Manage Application
->Advanced Settings...
para abrir laAdvanced Settings
ventana.DefaultAppPool
como se muestra a continuación:Application Pools
nodo en la barra de navegación izquierda en el IIS. Ahora compruebe qué versión de .Net CLR está ejecutando su grupo de aplicaciones. En mi caso es v4.0 como se muestra a continuación:Dado que la versión CLR que aloja mi grupo de aplicaciones es v4.0, eliminé con precisión solo los archivos temporales en la carpeta perteneciente a ASP .NET v4.0 solo de la siguiente manera:
Y eso es. Mi problema se resolvió.
Lección aprendida : Esto es indicativo del hecho de que todos los archivos temporales que utiliza su sitio web no están dispersos en varios directorios, sino que al mismo tiempo son remitidos por su grupo de aplicaciones. Por lo tanto, solo debe borrar esa carpeta específica.
fuente
Borrar C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Los archivos temporales de ASP.NET funcionaron para mí. Pensando en automatizar el proceso de eliminación para evitar el problema en el futuro.
fuente
Si está utilizando las Herramientas de datos de SQL Server 2012, que utiliza el shell VS2010 al 1 de mayo de 2013, verifique la configuración de Configuration Manager. Un cambio de nombre de servidor de Workflow a xCPWorkflow fue suficiente para producir exactamente el mismo mensaje. El parámetro es incorrecto (Excepción de HRESULT: 0x80070057 (E_INVALIDARG)) .
fuente
Puede limpiar, construir 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 unión de ensamblaje 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
fuente
Tuve este problema al hacer el controlador en MVC. Cambié la versión .NET Framework. El problema fue resuelto
fuente
El problema se relaciona con la versión en tiempo de ejecución .Net de una biblioteca de clases referenciada (referencias expandidas, seleccione la biblioteca y verifique la "Versión en tiempo de ejecución". Tuve un problema con Antlr3.Runtime, después de actualizar mi proyecto de Visual Studio a v4.5. I usé NuGet para desinstalar Microsoft ASP.NET Web Optimization Framework (debido a una cadena de dependencias que me impidió desinstalar Antlr3 directamente)
Luego usé NuGet para reinstalar el Microsoft ASP.NET Web Optimization Framework. Esto reinstaló las versiones correctas de tiempo de ejecución.
fuente
En mi caso, quería compilar una DLL visible COM. El problema era que aquí se encontraba una versión anterior de esta DLL:
Por lo tanto, Visual Studio cargó esta versión en lugar de la recién compilada, ya que intentó registrarla.
fuente
Borre todos los archivos de la carpeta temporal (C: \ Users \ nombre_usuario \ AppData \ Local \ Temp \ Archivos temporales ASP.NET \ carpeta de proyecto)
fuente
A veces, usted también necesita limpiar esta carpeta: C: \ Windows \ Temp \ Temporary ASP.NET
fuente
Me enfrenté al mismo error porque la aplicación no encontró marcos dependientes en la
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\
carpeta. Acabo de reparar mi Visual Studio que agregó el marco requerido en la ubicación anterior y funciona bien.fuente
En mi caso, cambiar el número de puerto IISExpress en las propiedades de mi proyecto resolvió el problema.
fuente
Si alguien más está usando el conjunto de herramientas WiX, descubrí que mi proyecto de instalación tenía una referencia a un proyecto antiguo que se había eliminado recientemente de la solución. Me tomó un tiempo darme cuenta, ya que hay varios proyectos en la solución que estaba intentando construir y el mensaje no indicaba qué proyecto no se podía construir (y limpiar, que también fallaba).
fuente
Tenía usuarios de Siemens Teamcenter 10 Client para Microsoft Office que obtenían el mismo error sobre una DLL diferente. Ninguna de las otras respuestas funcionó. La solución fue eliminar las carpetas en
fuente
Tuve un problema similar al abrir el administrador de paquetes Nuget, eliminé todos los archivos temporales y construí el proyecto, funcionó bien.
fuente