c# - una - supportedruntime
Cómo usar.Net Framework 3.5 o 4.5 dependiendo de cuál esté disponible (4)
Mi aplicación utiliza .net 3.5 y compila con éxito por debajo de 4.5 sin modificaciones, por lo que aparentemente las bibliotecas que usa mi aplicación existen tanto en 3.5 como en 4.5. Pero Windows 8 explícitamente requiere 3.5 aunque 4.5 esté disponible.
¿Cómo puedo (programáticamente) hacer que mi aplicación use 3.5 cuando se ejecuta en Windows7 y 4.5 cuando se ejecuta en Windows8?
PD: lo ideal es evitar el uso de un archivo app.config
Lo único que podría pensar es compilar para ambos marcos. E incluya ambos en su paquete de instalador, utilizándolo para instalar el correcto según lo que encuentre en el sistema.
No encontré una solución que no tuviera una dependencia en un archivo adicional. Pero la forma más sencilla en que podía hacer funcionar mi aplicación .net 3.5 en Windows 8 era crear un archivo app.config (que quería evitar) y agregar el elemento " <supportedRuntime>
".
<configuration>
<startup>
<supportedRuntime version="v4.0" />
</startup>
</configuration>
Win8 detectará la necesidad de 3.5 y le pedirá sin problemas al usuario que lo instale. Realmente no vale la pena saltar por los aros para agilizar aún más
Para los desarrolladores de aplicaciones (y administradores de TI): los administradores de TI pueden configurar aplicaciones .NET 3.5 para ejecutar en .NET 3.5 o .NET 4.5 (dependiendo de lo que ya esté instalado). Para ejecutar una aplicación administrada en 3.5 o 4.5, simplemente agregue una sección en el archivo de configuración de la aplicación. Esto asegurará que si .NET 3.5 está instalado, la aplicación se ejecutará en .NET 3.5; de lo contrario, la aplicación se ejecutará en .NET 4.5. Un ejemplo de la sección adicional en el archivo de configuración se proporciona a continuación:
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
</startup>
</configuration>