Escribí una aplicación web asp.net que utiliza SMO contra SQL Server 2008 para poder ejecutar algunas secuencias de comandos DB. Se hace referencia a estos montajes (en el directorio C: \ Archivos de programa \ Microsoft SQL \ 100 \ SDK \ Assemblies carpeta del servidor):No se puede encontrar microsoft.sqlserver.batchparser.dll
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
El microsoft.sqlserver.batchparser.dll no se encuentra en esta carpeta. Localmente (máquina de 32 bits, IIS7) No tengo ningún problema.
Cuando publico la aplicación a mi proveedor de alojamiento (discountasp.net, SQL Server 2008, IIS 7, 32 bits también), me sale este error:
Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
busqué mi máquina local y no puedo encuentra esta asamblea Sin embargo, funciona bien en esta máquina.
La herramienta "Informe de descubrimiento de Microsoft SQL Server 2008" informa que tengo v10.1.2531.0 instalado localmente.
Gracias
Cuando intento instalar SMO, el instalador dice que ya tengo una versión más alta instalada. Como puedo hacer referencia a Microsoft.SqlServer.Smo desde mi proyecto, supongo que esto lo confirma. –
@Nicolas: sí, lo tendrá instalado localmente.Sin embargo, no está instalado en su proveedor de alojamiento, de ahí el problema que está teniendo. – adrianbanks
Llamar a gacutil/l me muestra que el batchparser está en el GAC, sin embargo, el cuadro de diálogo de referencias en VS2010 no me lo mostrará. Pasar manualmente al GAC para extraer el ensamblaje y está en la carpeta GAC_32, no en GAC_MSIL. De todos modos, agregar esto a Reflector muestra que tiene una referencia a Microsoft.VisualC .... bastante extraño. –