Ejecutar una aplicación /clr de C++ en una versión anterior de Common Language Runtime
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 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.
Para que puedan ejecutarse en las versiones 1.0 y 1.1 de Common Language Runtime, las aplicaciones Windows compiladas con el compilador de Visual C++ deben compilarse con /clr:initialAppDomain.