无法加载文件或程序集'Microsoft.SqlServer.Types

时间:2009-10-26 16:28:08

标签: sql-server-2008 production-environment

我有一个我们在生产中部署的Web应用程序。 我们为WEB和数据库提供单独的服务器。数据库是SQL Server 2008,它托管在完全不同的服务器上,我们将IIS安装在不同的服务器上。

在我的网络服务器上,我们收到以下错误消息。 无法加载文件或程序集'Microsoft.SqlServer.Types,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91'或其依赖项之一

我在Web服务器上检查了GAC,但它缺少这个特定的DLL。这对我来说很有意义,因为它是一个Web服务器,它不应该有与SQLServer相关的程序集。

我们的应用程序在我们的开发,测试和登台环境中运行良好,因为我们的IIS和DB安装在同一台服务器上。

如何解决生产中的此问题?我可以通过在Web服务器上安装SQL Server 2008。但这对我来说没有意义。它是一个Web服务器 - 为什么我应该在该机器上安装SQL Server 2008?

7 个答案:

答案 0 :(得分:16)

报告查看器需要此类

Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.dll
Microsoft.ReportViewer.WebForms.dll
Microsoft.ReportViewer.WinForms.dll
Microsoft.ReportViewer.DataVisualization.dll
Microsoft.SqlServer.Types.dll

答案 1 :(得分:15)

Microsoft SQL Server 2008 Feature Pack

简要说明:

下载Microsoft SQL Server 2008 Feature Pack,这是一组独立安装包,为SQL Server 2008提供附加值。特别是CLR数据类型。

注意:2013年1月更新了功能包链接

答案 2 :(得分:7)

最好的解决方案是安装Microsoft.SqlServer.Types NuGet包。

PM> Install-Package Microsoft.SqlServer.Types

按照readme.htm

的说明操作

答案 3 :(得分:7)

正如@Dave Swersky所说需要Microsoft SQL Server 2008功能包

但链接已更改为:

SQLServer®2008R2的Microsoft®系统CLR类型:

X86包(SQLSysClrTypes.msi):http://go.microsoft.com/fwlink/?LinkID=188391&clcid=0x409 X64包(SQLSysClrTypes.msi):http://go.microsoft.com/fwlink/?LinkID=188392&clcid=0x409

使用原始链接将获得一个文本文件,说明包已经分开

答案 4 :(得分:1)

只需按下"继续"我就可以忽略此错误。出现错误时按钮。安装完成后,它似乎没有影响2008 R2服务器的运行。我正在运行Windows 7 64位。

答案 5 :(得分:0)

请参阅此论坛帖子: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®REPORTVIEWER 2012 RUNTIME”它们应该出现 - 迄今为止最简单的方式

答案 6 :(得分:-3)

对我来说关闭应用程序并重新打开它解决问题