c# - microsoft - reportviewer 2016
No se pudo cargar el archivo o el ensamblaje... El parĂ¡metro es incorrecto (26)
A veces, también debe limpiar esta carpeta: C: / Windows / Temp / Temporary ASP.NET
Recientemente me encontré con la siguiente excepción en la solución C #:
Error 2 No se pudo cargar el archivo o el ensamblaje ''Newtonsoft.Json, versión = 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 de mi código ni del nombre del ensamblaje (como Newtonsoft.Json
en este caso).
Cuando borro esta dll de la solución, el compilador nos cuenta sobre otra en la misma excepción. Así que supongo que algo debería estar apagado / encendido en mi PC :)
Acabo de borrar 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 problemas
Borrar todos los archivos de la carpeta temporal (C: / Users / nombre_usuario / AppData / Local / Temp / Archivos temporales de ASP.NET / carpeta de proyecto)
Borre los archivos del marco temporal para su proyecto en: -
C: / WINDOWS / Microsoft.NET / Framework / v2.0.50727 / Archivos temporales de ASP.NET /
Dependiendo de si está ejecutando X64, es posible que necesite limpiar un par de lugares más. Simplemente limpiar mi directorio de usuarios no fue suficiente.
- % TEMP% / Archivos temporales ASP.NET
- C: / Windows / Microsoft.NET / Framework / v2.0.50727 / Archivos temporales de ASP.NET
- C: / Windows / Microsoft.NET / Framework / v4.0.30319 / Archivos temporales de ASP.NET
- C: / Windows / Microsoft.NET / Framework64 / v2.0.50727 / Archivos temporales de ASP.NET
- C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / Archivos temporales de ASP.NET
Esta lista crecerá como si tuviera instaladas otras versiones del marco.
El problema se relaciona con la versión en tiempo de ejecución .Net de una biblioteca de clases referenciada (referencias ampliadas, 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. usé NuGet para desinstalar Microsoft ASP.NET Web Optimization Framework (debido a una cadena de dependencias que me impidió desinstalar Antlr3 directamente)
Luego utilicé NuGet para reinstalar el marco de optimización web de Microsoft ASP.NET. Esto reinstaló las versiones correctas en tiempo de ejecución
Eliminación de 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.
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
En mi caso quería compilar una DLL visible de COM. El problema fue 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 compilada, ya que trató de registrarla.
En mi caso, al cambiar el número de puerto de IISExpress en las propiedades de mi proyecto, se resolvió el problema.
Esto puede suceder al hacer referencia a dlls de contenedor COM. Dentro de su proyecto de Visual Studio, en Referencias, seleccione las dlls de contenedor COM a las que se hace referencia y asegúrese de que tengan los siguientes valores de propiedad: "Incrustar tipos de interoperabilidad": Falso y "Versión específica": Falso.
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 del blog: http://www.dotnetscraps.com/dotnetscraps/post/Location-of-Temporary-ASPNET-files-in-Vista-or-Windows-7.aspx
Hice que los usuarios de Siemens Teamcenter 10 Client para Microsoft Office obtuvieran 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/
Me encontré con el mismo error porque la aplicación no encontró marcos dependientes en la carpeta C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/
. Acabo de reparar mi Visual Studio que agregó el marco requerido en la ubicación anterior y funciona bien.
Obtener un nuevo conjunto de binarios del control de Source ayudó.
Gracias
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ás la salida como abajo. Esto le indica dónde asp.net está intentando cargar sus 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**.
Parece que se hace referencia a un ensamblado dañado.
Limpia los dos:
la carpeta / bin de tu proyecto
la carpeta temporal (debe ser
C:/Users/your_username/AppData/Local/Temp/Temporary ASP.NET Files
en Windows 7)
y ver si el error sigue ocurriendo.
Puede limpiar, compilar o reconstruir su aplicación o simplemente eliminar archivos temporales de ASP.NET en C: / Users / SU NOMBRE DE USUARIO / AppData / Local / Temp
Esto funciona como magia. En mi caso tuve un problema de enlace 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
Si alguien más usa el conjunto de herramientas de WiX, descubrí que mi proyecto de instalación tenía una referencia a un proyecto anterior que había sido 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 estaba fallando en la construcción (y limpiar, lo que también estaba fallando).
Si está utilizando las herramientas de datos de SQL Server 2012, que utiliza el shell VS2010 a partir del 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)) .
Solo borra esta carpeta: (solo windows x64)
C: / Windows / Microsoft.NET / Framework / v4.0.30319 / Archivos temporales de ASP.NET
También puede borrar el directorio de paquetes y permitir que NuGet vuelva a descargar los paquetes faltantes
me resolvió el problema
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
uninstall-package ActionMailer
install-package ActionMailer
Resolví mis problemas, espero que ayude a alguien más.
Tuve este problema al hacer el controlador en MVC. Cambié la versión de .net framework. El problema fue resuelto
Tuve que aclarar
C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files
Sólo entonces se resolvió el problema.
Veo que muchos técnicos han publicado sobre el borrado de directorios temporales de tiempo de ejecución de ASP .Net relacionados con todos y cada uno de los .Net framework alojados en su máquina como en this respuesta. Pero creo que deberíamos conocer la logística clara en cuanto a por qué necesitamos limpiar ciegamente todos los directorios temporales de trabajo de todos los marcos .Net. Según yo, no debería ser el caso.
Mi consejo sería que debería probar un método de eliminación de directorios con punta de pines para resolver este problema. ¿Cómo saber qué directorio borrar?
- Vaya a IIS y haga clic con el botón derecho en el nodo de su 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 ventanaAdvanced Settings
. - Compruebe el grupo de aplicaciones a las que está asignado su sitio web. En mi caso es
DefaultAppPool
como se muestra a continuación:
- Ahora vaya al nodo
Application Pools
en la barra de navegación izquierda en el IIS. Ahora verifique 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 de CLR que aloja mi grupo de aplicaciones es v4.0, por lo que realmente borré solo los archivos temporales en la carpeta correspondiente a ASP .NET v4.0 solo como se muestra 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 utiliza su sitio web no están dispersos en varios directorios, sino que están siendo referidos por su grupo de aplicaciones. Por lo que necesita borrar esa carpeta específica solamente.