29

我有我们部署在生产环境中的 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?

4

7 回答 7

16

Microsoft SQL Server 2008 功能包

简要描述;简介:

下载 Microsoft SQL Server 2008 功能包,这是一组独立安装包,可为 SQL Server 2008 提供额外价值。特别是 CLR 数据类型。

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

于 2009-10-26T16:30:50.240 回答
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
于 2013-12-07T22:57:25.503 回答
7

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

PM> Install-Package Microsoft.SqlServer.Types

并按照其 readme.htm 中的说明进行操作

于 2015-02-24T14:23:47.513 回答
7

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

但链接已更改为:

适用于 SQL Server® 2008 R2 的 Microsoft® System 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

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

于 2017-03-01T02:53:08.727 回答
1

当错误出现时,我只需按“继续”按钮即可忽略此错误。安装完成后,它似乎不会影响 2008 R2 服务器的操作。我正在运行 Windows 7 64 位。

于 2014-05-05T16:20:34.813 回答
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® REPORT VIEWER 2012 RUNTIME”,它们就会出现 - 迄今为止最简单的方法

于 2015-01-29T14:42:21.037 回答
-4

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

于 2016-10-14T16:46:57.303 回答