Solución:
Las aplicaciones cliente no deben usar los ensamblados de las carpetas de Archivos de programa a menos que sean de las carpetas específicas del SDK (como “C: Archivos de programa (x86) Microsoft SQL Server 130 SDK”)
La versión 13.100. * De los ensamblados que está viendo son actualmente solo para uso de las herramientas de Microsoft y, por lo tanto, no se colocan con todas las dependencias necesarias en el mismo lugar. La carpeta DTS especialmente tiene solo un subconjunto de ensamblados SMO ya que ese código no necesita cosas como SqlClrProvider.
Utilice los ensamblados de las carpetas del SDK o de SharedManagementObjects.msi para utilizarlos como referencias para sus aplicaciones.
-Charles Gagnon ([email protected])
Tuve el mismo problema. Con el SSMS actualizado, el SMO principal ahora está instalado en "C:Program Files (x86)Microsoft SQL Server130DTSTasks"
con la versión 13.100.0.0 en VS (el archivo Microsoft.SqlServer.Smo.dll tiene la versión 13.0.15700.28) pero no se hace referencia a Microsoft.SqlServer.SqlClrProvider.dll en GAC. Cuando tomo el que se proporciona con SSMS, obtengo una excepción más en mi código.
El problema es que el instalador de SSMS agrega la referencia de estos SMO privados a la lista de referencias de Visual Studio. Charles Gagnon me dio una solución (el uso de HintPath) que implementé en mi .csproj
archivos.
Microsoft.SqlSever.SqlClrProvider se puede instalar ejecutando los siguientes MSI:
ENU x64 SQLSysClrTypes.msi
ENU x64 SharedManagementObjects.msi
que están disponibles en el siguiente enlace de descarga de Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=52676
El enlace proporciona una lista de MSI. Tendrá que navegar por la lista para encontrar los elementos anteriores.
Primero instale SQLSysClrTypes.msi, seguido de SharedManagmentObjects.msi.
En realidad, Microsoft.SqlSever.SqlClrProvider.dll se instalará en su GAC. El resto de los ensamblados relacionados se instalarán en C: Archivos de programa Microsoft SQL Server 130