Compartir a través de


Ejecutar una aplicación /clr de C++ en una versión anterior de Common Language Runtime

Actualización: noviembre 2007

A menos que se especifique lo contrario, las aplicaciones de Visual C++ .NET se generan de forma que se ejecuten con la versión de Common Language Runtime que utiliza el compilador para generarlas. No obstante, es posible que una aplicación .exe generada con una versión de Common Language Runtime se ejecute en cualquier versión de éste que proporcione toda la funcionalidad necesaria.

Para ello, la aplicación .exe necesita un archivo app.config que contenga la información de la versión del motor en tiempo de ejecución (con la etiqueta supportedRuntime). El entorno de desarrollo de Visual C++ no admite la modificación del archivo app.config, pero otros lenguajes de Visual Studio sí lo permiten mediante el cuadro de diálogo Páginas de propiedades del proyecto. Por ejemplo, puede modificar la propiedad Motores en tiempo de ejecución compatibles de una aplicación para Windows de Visual C# y utilizar ese archivo app.config actualizado en la aplicación de C++.

En tiempo de ejecución, el nombre del archivo app.config debe ser nombre_archivo.ext.config (donde nombre_archivo.ext es el nombre del ejecutable que inició la aplicación) y el archivo debe estar en el mismo directorio que el ejecutable. Por ejemplo, si la aplicación tiene el nombre TestApp.exe, el archivo app.config se denominará TestApp.exe.config.

Si se especifica más de una versión del motor en tiempo de ejecución y la aplicación se ejecuta en un equipo con más de un versión instalada, utilizará la primera versión especificada en el archivo config que coincida con el motor en tiempo de ejecución instalado que esté disponible en el sistema.

Para obtener más información, vea Utilizar una versión de .NET Framework.

Las aplicaciones para Windows generadas con el compilador de Visual C++ deben compilarse con /clr:initialAppDomain para que puedan ejecutarse en la versión anterior de Common Language Runtime.

Utilizar la versión anterior del motor en tiempo de ejecución en aplicaciones Web ASP.NET no es compatible con esta versión de Visual C++.

Vea también

Otros recursos

Implementación (C++)