Не удалось загрузить файл или сборку "Microsoft.SqlServer.Types
У меня есть веб-приложение, которое мы развернули в производстве.
У нас есть отдельные серверы для WEB и базы данных. БД - это SQL Server 2008, и он размещен на совершенно другом сервере, и наш IIS установлен на другом сервере.
На моем веб-сервере мы получаем следующую ошибку.
Не удалось загрузить файл или сборку "Microsoft.SqlServer.Types, Version = 10.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91" или одну из его зависимостей
Я проверил GAC на веб-сервере, и в нем отсутствовала эта конкретная DLL. Это имеет смысл для меня, поскольку это веб-сервер, и он не должен иметь сборки, связанные с SQLServer.
Наше приложение отлично поработало в нашей тестовой и промежуточной среде, так как наши IIS и DB были установлены на одном сервере.
Как мне пройти эту проблему в Production? Я могу, установив SQL Server 2008 на веб-сервер. Но для меня это не имеет смысла. Это веб-сервер - зачем мне устанавливать SQL Server 2008 на эту машину?
Ответы
Ответ 1
Пакет возможностей Microsoft SQL Server 2008
Краткое описание:
Загрузите пакет функций Microsoft SQL Server 2008, набор автономных пакетов установки, которые предоставляют дополнительное значение для SQL Server 2008. В частности, типы данных CLR.
Примечание. Обновленная ссылка на пакет обновления января 2013 года
Ответ 2
Report Viewer нужен этот класс
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.dll
Microsoft.ReportViewer.WebForms.dll
Microsoft.ReportViewer.WinForms.dll
Microsoft.ReportViewer.DataVisualization.dll
Microsoft.SqlServer.Types.dll
Ответ 3
Лучшим решением было бы установить пакет Microsoft.SqlServer.Types NuGet.
PM> Install-Package Microsoft.SqlServer.Types
И следуйте инструкциям из файла readme.htm
Ответ 4
Как @Dave Swersky Said Требовать пакет обновления Microsoft SQL Server 2008
Но ссылка была изменена на:
Типы CLR для Microsoft® System для SQL Server® 2008 R2:
X86 Package (SQLSysClrTypes.msi): http://go.microsoft.com/fwlink/?LinkID=188391&clcid=0x409
X64 Package (SQLSysClrTypes.msi): http://go.microsoft.com/fwlink/?LinkID=188392&clcid=0x409
Использование исходной ссылки получит текстовый файл, в котором говорится, что пакет был отдельным
Ответ 5
Я смог проигнорировать эту ошибку, просто нажав кнопку "Продолжить", когда появилась ошибка. По-видимому, это не повлияло на работу сервера R2 R2 после завершения установки. Я использую 64-разрядную версию Windows 7.
Ответ 6
Пожалуйста, просмотрите этот форум: https://social.technet.microsoft.com/Forums/sharepoint/en-US/7e673dde-dfca-4b1a-a840-025a2ae9ee58/reportviewer-msi-is-missing-microsoftsqlservertypesdll?forum=sqlreportingservices,
первый ответ. Фактически вы можете загружать распространяемые DLL файлы для просмотра отчетов и добавлять их в свой проект, чтобы они были развернуты на машинах, у которых нет этих файлов.
И ссылка на фактическую загрузку среды выполнения для VS 2012: http://www.microsoft.com/EN-US/download/confirmation.aspx?id=35747
PS вы также можете скачать их через NuGet (это то, что я сделал.) Просто найдите "MICROSOFT® REPORT VIEWER 2012 RUNTIME", и они должны подойти - самый простой способ пока
Ответ 7
Закройте приложение и откройте его, чтобы решить проблему.