47 votes

Référence Microsoft.SqlServer.Smo.dll

J'ai besoin d'utiliser Serveur qui est stockée dans Microsoft.SqlServer.Smo.dll Je ne vois pas cet assemblage dans la boîte de dialogue Références habituelle. Je l'ai trouvé dans C:/Program Files/Microsoft SQL Server/100/SDK/Assemblies et j'essaie de le référencer à partir de là mais Visual Studio affiche une erreur "Une référence 'C:/Program Files/Microsoft SQL Server/100/SDK/Assemblies/Microsoft.SqlServer.Smo.dll' n'a pas pu être ajoutée. Veuillez vous assurer que ce fichier est accessible et qu'il s'agit d'un assemblage ou d'un composant COM valide". Qu'est-ce que je fais de mal ?

0 votes

Depuis 2017, le paquet nuget est la bonne approche : nuget.org/packages/Microsoft.SqlServer.SqlManagementObjects

-4voto

lb. Points 1221

Hmm. Essayez d'enregistrer la bibliothèque DLL en exécutant ceci à l'invite DOS (je suis curieux de savoir pourquoi elle n'est pas déjà enregistrée. J'ai essayé de l'utiliser sur un Windows avec SQL2008 installé et je n'ai pas eu votre problème)

"c : \windows\system32\regsvr32.exe C:/Program Files/Microsoft SQL Server/100/SDK/Assemblages/Microsoft.SqlServer.Smo.dll"

Vous avez besoin des guillemets à cause des espaces dans les noms des répertoires.

Si vous exécutez un Windows 64 bits, regsvr32.exe sera en C:\windows\syswow64\

Bonne chance. Faites-nous savoir si cela ne vous aide pas Merci.

2 votes

Je ne vois pas les signes habituels indiquant qu'il s'agit d'un conteneur d'objets COM (exportation DllRegisterServer, entrée OleSelfRegister VS_VERSION_INFO). A-t-il vraiment besoin d'être regsvr32é ? Cela n'en aurait-il pas fait une référence COM et non une référence d'assemblage ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X