2011-09-06 27 views
6

Aquí hay uno interesante. Tengo un pequeño archivo ejecutable creado contra .NET 2.0, para garantizar que opere en una amplia variedad de plataformas. Es un programa de ensamblaje único y solo hace referencia a los espacios de nombres System. *.¿Cómo admitir .NET 2.0 y .NET 4.0 en una aplicación?

Cuando lo ejecuto en un sistema operativo con .NET 2.0 instalado, funciona bien. No se ejecutará en un sistema operativo con solo .NET 4.0 instalado, debido al nuevo tiempo de ejecución presentado con .NET 4.0. Como resultado, agregué información de tiempo de ejecución compatible al archivo app.config, como se describe en here. He añadido dos tiempos de ejecución soportados:

<supportedRuntime version="2.0.50727" /> 
<supportedRuntime version="4.0" /> 

Ahora en que funciono la aplicación en un sistema con .NET 2.0 instalado, no se ejecuta:

enter image description here

no hay diferencia en el cual ordenar que se definan los tiempos de ejecución admitidos, que no sea el orden de las versiones solicitadas en el mensaje de error, cambia para reflejar los cambios en el app.config (por lo que el CLR obviamente está recogiendo esa información correctamente). Tengo .NET 2.0 instalado, y afirma que necesito instalar .NET 2.0. He intentado reparar la instalación de .NET 2.0 sin suerte. He reproducido este comportamiento en una segunda máquina.

¿Qué podría estar causando que esto falle?

Respuesta

11

creo que puede simplemente han perdido la v:

<supportedRuntime version="v2.0.50727" /> 
<supportedRuntime version="v4.0" /> 
Cuestiones relacionadas