Tengo un código que usa SMO para rellenar una lista de servidores y bases de datos SQL disponibles. Si bien ya no admitimos SQL Server 2000, es posible que el código se ejecute en un equipo que no sea SQL Server 2000 y que no tenga la biblioteca SMO instalada. Me gustaría comprobar primero SMO y degradar la funcionalidad con gracia en lugar de explotar en la cara del usuario. ¿Cuál es la mejor manera de detectar si SMO está disponible en una máquina o no?¿Cuál es la mejor forma de detectar la presencia de SMO?
Cada ejemplo que he visto a través de un análisis rápido de Google era una variación de "buscar C: \ Archivos de programa \ Microsoft SQL Server \ 90 \ SDK \ Assemblies \ Microsoft.SqlServer.Smo.dll". El problema con este enfoque es que solo funciona con SQL Server 2005. Si SQL Server 2008 es el único servidor SQL instalado, la ruta será diferente.
Una pregunta relacionada: ¿Ha enfrentado el problema de hacer que el mismo código funcione en 2005 y 2008. Si es así, ¿cómo lo resolvió? – Mostlyharmless