2010-01-12 14 views
19

Tengo el tiempo de ejecución de .NET 2.0 instalado, luego instalé el tiempo de ejecución de .NET 4.0, así que tengo ambos. Cuando ejecuto una aplicación .NET, ¿hay alguna manera de forzar qué tiempo de ejecución se utilizará?¿Obliga a una aplicación a ejecutarse en una versión de tiempo de ejecución específica de .NET?

Editar/Aclarar: Quise decir sin tener en cuenta cómo se creó la aplicación. Estoy bajo la suposición de que el tiempo de ejecución .NET 4.0 puede ejecutar un programa .NET compilado hace 5 años que se centró en el tiempo de ejecución 2.0 (oldprogram.exe). Así que ahora estoy en una máquina con ambos tiempos de ejecución, cualquiera de los cuales podría manejar oldprogram.exe. ¿Qué tiempo de ejecución se elige? ¿Puedo influir en qué tiempo de ejecución se elige?

Respuesta

26

Sí, utilice el elemento <supportedRuntime> en el archivo .exe.config. Por ejemplo:

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

Echale un vistazo: Configuring Assembly Binding Redirection

De forma predeterminada, las aplicaciones usan el conjunto de .NET Framework assembl que se enviaron con la versión en tiempo de ejecución utilizada para compilar la aplicación. Puede usar el atributo applyTo en el elemento <assemblyBinding> en un archivo de configuración de la aplicación para redirigir las referencias de enlace del ensamblado a una versión específica de los ensamblados de .NET Framework. Este atributo opcional utiliza un número de versión de .NET Framework para indicar a qué versión se aplica. Si no se especifica ningún atributo applyTo, el elemento <assemblyBinding> se aplica a todas las versiones de .NET Framework.

+0

+1, esta es la respuesta correcta si el programa ya se ha creado. –

Cuestiones relacionadas