Digamos que tengo una aplicación anterior que intenta cargar un ensamblaje externo.Cómo ejecutar la aplicación CLR 2 como aplicación CLR 4
- La aplicación de edad se compila a CLR 2.
- El nuevo montaje se compila a CLR 4.
Me gustaría ser capaz de ejecutar esa aplicación antigua en el interior de CLR 4. Recuerdo hubo algunos xml manifest magic involucrados.
¿Cómo puedo crear ese archivo xml de manifiesto para decir que oldapplication.exe se ejecutará bajo CLR 4?
Encontré algunas sugerencias, pero no parecen funcionar para mí.
- http://www.mibuso.com/forum/viewtopic.php?f=23&t=33840&view=next
- http://geekswithblogs.net/technetbytes/archive/2007/06/01/112928.aspx
- http://msdn.microsoft.com/en-us/library/a5dzwzc9.aspx
oldapplication.exe.config:
<?xml version ="1.0"?>
<configuration>
<startup>
<!--set the appropriate .net version-->
<requiredRuntime version="4.0.0.0"/>
</startup>
</configuration>
Al mismo tiempo que otra oportunidad me encontré con este archivo para servir como mi templ ATE:
C: \ Windows \ Microsoft.NET \ Framework \ v4.0.20506 \ Aspnet_regsql.exe.config
<?xml version ="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0.20506"/>
<requiredRuntime version="v4.0.20506" safemode="true"/>
</startup>
</configuration>
que también ha actualizado el código para informar CLR actual:
Console.WriteLine(typeof(object).Assembly.ImageRuntimeVersion);
¡Funciona ahora!
+1. También iba a preguntar esto, ya que realmente necesito el JIT de 64 bits de .NET 4 para un soporte adecuado de la cola de llamada. – leppie