Приложение не может найти Microsoft.SQLServer.SMO на компьютере с SQL 2008

У меня есть код, который использует Microsoft.SqlServer.Management.Smo. (Встроенный в Visual Studio 2005 с пакетом обновления 1 (SP1)). Он отлично работает на машинах с SQL 2000 и SQL 2005. Но когда он запускается на машине с SQL 2008, он выдает исключение:

System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'Microsoft.SqlServer.Smo, версия =9.0.242.0, культура = нейтральная, PublicKeyToken=89845dcd8080cc91' или одна из ее зависимостей. Система не может найти указанный файл. Имя файла: 'Microsoft.SqlServer.Smo, версия =9.0.242.0, культура = нейтральная, PublicKeyToken=89845dcd8080cc91'

=== LOG: эта привязка начинается в контексте загрузки по умолчанию. LOG: файл конфигурации приложения не найден. LOG: Использование файла конфигурации компьютера из C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: ссылка после политики: Microsoft.SqlServer.Smo, версия =9.0.242.0, Culture= нейтральный, PublicKeyToken=89845dcd8080cc91 LOG: попытка загрузки нового файла URL:///C:/Documents and Settings/Automation/Desktop/Debug/Microsoft.SqlServer.Smo.DLL. LOG: Попытка загрузки нового файла URL: /// C: / Documents and Settings / Автоматизация / Рабочий стол / Отладка /Microsoft.SqlServer.Smo/Microsoft.SqlServer.Smo.DLL. LOG: Попытка загрузки нового файла URL: /// C: / Documents and Settings / Автоматизация / Рабочий стол /Debug/Microsoft.SqlServer.Smo.EXE. LOG: Попытка загрузки нового файла URL: /// C: / Documents and Settings / Автоматизация / Рабочий стол / Отладка /Microsoft.SqlServer.Smo/Microsoft.SqlServer.Smo.EXE.

Я установил пакет обратной совместимости SQL 2005 (обновлен для SQL 2008) и объекты управления SQL (обновлен для SQL 2008)

Какие-либо предложения.

Я прошел через SQL Server SMO жалуется на отсутствие DLL, но не так много помощи.

3 ответа

Решение

Я нашел проблему. Я строил проект со ссылками на SQL 2005 SDK DLL. Я удалил все ссылки и снова добавил ссылки (теперь указываю на пост просмотра SQL 2008: http://msdn.microsoft.com/en-us/library/ms162129.aspx), чтобы получить список ссылок для добавления. Кроме того, на целевом компьютере должны быть установлены компоненты обратной совместимости Microsoft SQL Server 2005 и объекты управления Microsoft SQL Server 2008 и типы CLR системы SQL Server (2008).

Не уверен, что это было решено, но похоже, что у оригинального плаката свойство "Определенная версия" было установлено в "Истина" для библиотеки DLL.

Чтобы это исправить, выберите ссылку в папке "Ссылки" и установите для свойства "Конкретная версия" значение true.

Microsoft перенесла некоторые функции в Microsoft.SMO.Extended, но это отдельная проблема

Ознакомьтесь с разделом "Объекты управления Microsoft SQL Server 2008" в пакете дополнительных компонентов Microsoft SQL Server 2008, апрель 2009 г. (убедитесь, что у вас установлен SQL Server 2008 с пакетом обновления 1 (SP1))

Другие вопросы по тегам