2010-04-26 11 views
6

Estoy escribiendo un programa que está destinado a ejecutarse en .NET Framework 2.0.¿Cómo comprobar la compatibilidad entre mi programa y las versiones de .NET Framework?

He elegido 2.0 en mi proyecto VS.

Funciona bien en mi máquina (la mía tiene 2.0 SP2), por lo que no hay ningún error de compilación. pero cuando traté de ejecutarlo en otra máquina (solo con 2.0, sin sp), no se puede ejecutar. Soy consciente de que utilicé algún método compatible con 2.0 pero solo con 2.0 SP2.

.NET Framework 2.0 SP2 parece no estar en la lista en VS IDE, es por eso que VS no puede darme ninguna advertencia cuando lo compilé en mi máquina.

¿Cómo puedo verificar fácilmente la compatibilidad de mis códigos con .NET Framework 2.0 SP2? o simplemente tengo que mirar msdn para verificar cada método que he usado ???

gracias

+0

¿Qué excepción obtienes? – SLaks

+0

Método no encontrado. He resuelto ese problema, que fue causado por un método incorrecto. – Jack

Respuesta

0

Si sabe con certeza qué bibliotecas específicas (DLL) distinguir 2.0 SP2 de sólo 2.0, se puede tratar de localizar y cargar mediante programación. Si falla, entonces el SP2 no está presente.

En caso de que no haya dlls "nuevos", puede usar la reflexión para verificar si una clase tiene un método específico. Si lo hace, tienes SP2.

Es una solución para el tiempo de ejecución, por lo que puede mostrar un mensaje amigable al usuario.

+0

¿Qué pasa si no conozco ninguno? en el ejemplo anterior, por ejemplo, utilicé algún método en la biblioteca de 2.0, pero el compilador no me dijo que es para 2.0 SP2. Solo quiero saber si hay alguna manera fácil de saber qué método o clase es 2.0 SP2 o una versión más precisa de .NET Framework. – Jack

+0

@Jack: mira la descripción del método en las páginas de MSDN. Siempre dice qué versión de marco lo admite, incluidos los datos de SP. –

0

Puede identificar en qué parte de su código está el error cuando no hay sp.

Luego, solo crea un fragmento ficticio que usa esa estructura y capta la excepción.

Si no se atrapa ninguna excepción, usted está bien. Si se lanza una excepción, es probable que te falte sp2.

Cuestiones relacionadas