Siempre uso la versión más actualizada del Framework. Esta puede ser una pequeña carga inicial para los usuarios, pero la aplicación tiene una vida mucho más larga entre actualizaciones. Eso puede o no ser importante para usted, pero considere:
Si envió una aplicación en 2005 con .NET 1.1, el marco en el que se ejecuta su aplicación ahora está fuera del soporte principal, y puede tener vulnerabilidades de seguridad sin parches, u otros problemas serios con los que Microsoft no pueda lidiar y que no pueda compensar en su propio código. Su única alternativa en 2008 es conseguir que sus usuarios actualicen su versión de marco ahora. Y, como todos sabemos, hacer que los usuarios actualicen las cosas de manera oportuna puede ser problemático.
Del mismo modo, considere su situación en 2011. Si programa para .NET 3.5 ahora, su aplicación, tal como se envió, será viable por más tiempo. Si envía para .NET 2.0 ahora, dentro de unos años, estará en la posición de tener que convencer a sus usuarios para que actualicen su marco de trabajo (código que no tiene ningún beneficio percibido para ellos, recuerde) para que pueda respaldar adecuadamente esta aplicación.
Además, si planea implementar características de clase 3.5 (LINQ to SQL el próximo año, por ejemplo), le conviene enviar 3.5 ahora, en lugar de 2.0, ya que hará que la implementación tarde sea menos problemática. para ti.
No es solo espacio en disco duro: maximiza la posibilidad de que su cliente tenga los requisitos previos ya instalados, y reduce el número de cambios que tiene que hacer en sus máquinas. –
@Nader Shirazie: eso no es del todo cierto. Tengo una aplicación escrita en .NET 2.0, por ejemplo. Pero Windows 8 RP solo tiene .NET 4.0 activado por defecto. Y, gran sorpresa: resulta que .NET 4.0 no es compatible con versiones anteriores. Por lo tanto, mi instalador solicita al usuario que instale .NET 2.0 desde el sitio de Microsoft. Pero cuando intentes instalar Windows no te dejará porque ya hay una versión más nueva disponible. La única solución consiste en permitir que el usuario active .NET 3.5 (incluido .NET 2.0) manualmente desde el menú "agregar programas y funciones", que no es muy fácil de usar. –