c# dll .net-4.0 .net-2.0

c# - "Este ensamblado está construido por un tiempo de ejecución más nuevo que el tiempo de ejecución cargado actualmente y no se puede cargar"



dll .net-4.0 (11)

Deberá actualizar el proyecto .NET 2 a .NET 4 o degradar el proyecto .NET 4 a .NET 3.5 (o anterior).

¿Cómo se actualiza la versión .net? No estoy seguro de dónde y qué especificar. Por favor ayuda.

Editar: Encontré la respuesta yo mismo. Seleccione el proyecto, haga clic derecho y elija Páginas de propiedades. Allí puede seleccionar la versión del marco. o seleccione el proyecto y haga clic en Mayús + F4

Me sale el error: "Este ensamblado está construido por un tiempo de ejecución más nuevo que el tiempo de ejecución cargado actualmente y no se puede cargar".

Tengo un proyecto .NET 4.0 dll que está siendo llamado por un proyecto .NET 2.0. ¿Hay alguna manera de reconciliar la diferencia en el marco?


Tengo un proyecto .NET 4.0 dll que está siendo llamado por un proyecto .NET 2.0. ¿Hay alguna manera de reconciliar la diferencia en el marco?

No de esa manera, no. .NET 4 CLR puede cargar ensamblados .NET 2 (por lo general, existen algunas excepciones para ensamblajes de modo mixto, IIRC), pero no al revés.

Deberá actualizar el proyecto .NET 2 a .NET 4 o degradar el proyecto .NET 4 a .NET 3.5 (o anterior).


Curiosamente, seguí recibiendo ese error. Lo que lo solucionó fue crear una configuración llamada gacutil.exe.config en el mismo directorio que gacutil.exe. El contenido de configuración (un archivo de texto) fue:

<?xml version ="1.0"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/> </startup> </configuration>

Estoy publicando esto aquí como referencia y pregunto si alguien sabe lo que está sucediendo bajo el capó. No estoy afirmando que esta es la forma "correcta" de hacerlo


Dado que solo se puede cargar una versión del tiempo de ejecución en un proceso (aunque, como otros han aludido, la carga hacia atrás - 4.0 cargando 2.0 - está bien), tiene algunas opciones:

  • Actualice el proyecto .Net 2.0
  • Envuelva el proyecto .Net 2.0 (si la fuente no es suya)
  • Downgrade el proyecto .Net 4.0
  • Cargue el proyecto .Net 4.0 en su propio proceso (creo que esto puede funcionar, pero tomará un poco de esfuerzo, IMO)

El error se debió a la forma en que configuré el grupo de aplicaciones en IIS.

Mi servicio web utiliza una herramienta de aplicación configurada para v2.0.50727. Esto dio como resultado el mensaje de error.

Cuando lo cambié a v4.0.30319, no obtuve el error.


Este error también se puede desencadenar si se selecciona la versión incorrecta de .NET framework como la predeterminada en IIS.

Haga clic en el nodo raíz en la vista Conexiones (en el lado izquierdo), luego seleccione Cambiar versión .NET Framework en la vista Acciones (en el lado derecho), luego seleccione la versión .NET apropiada de la lista desplegable.


Recibí el mismo mensaje de error. Estaba dando

C: / WINDOWS / Microsoft.NET / Framework / v2.0.50727 / InstallUtil.exe "C: / MyService / MyService.exe"

En lugar de

C: / WINDOWS / Microsoft.NET / Framework / v4.0.30319 / InstallUtil.exe "C: / MyService / MyService.exe"


Si ya ha probado todas las otras soluciones lógicas en esta página, vuelva a verificar esto. En mi app.config tenía una referencia a un viejo marco.

<startup> <supportedRuntime version="v2.0.50727"/> </startup>

debería haber sido

<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup>

La pestaña del proyecto mostró correctamente v4.0 pero el app.config no se confirmó en nuestro repositorio con ese cambio. Para solucionarlo, cambié el marco a otra cosa y de nuevo a 4.0, que actualizó mi archivo app.config.


Su versión de .NET no coincide con el dll así que intente cambiar a desde en app.config o web.config. En general, tienen un marco más alto que el más bajo, porque cuando agregamos el archivo DLL del sistema a la versión inferior de la aplicación .NET creada, no funciona, por lo tanto, solo cambie a la versión superior.


También recibí este error, pero mi problema era que estaba usando una versión anterior de GACUTIL.EXE .

Una vez que tuve el GACUTIL correcto para la última versión de .NET instalada, funcionó bien.

El error es engañoso porque hace que parezca que el DLL que intentas registrar es incorrecto.


cambie el directorio INSTALL_UTIL_HOME de "C: / WINDOWS / Microsoft.NET / Framework / v2.0" a "C: / WINDOWS / Microsoft.NET / Framework / v4.0.30319" para instalar el servicio. Este error ocurre principalmente para la versión missmatch.