在不安装 Microsoft Report Viewer 的情况下发布网站

Posted

技术标签:

【中文标题】在不安装 Microsoft Report Viewer 的情况下发布网站【英文标题】:Publishing Web site without installing Microsoft Report Viewer 【发布时间】:2011-08-23 17:53:41 【问题描述】:

我有一个只能通过 ftp 访问的 Web 服务器,我无法在上面安装 Microsoft Report Viewer。

如何在不安装 ReportViewer 的情况下将我的 asp.net 应用程序发布到 IIS?

我已将以下 dll 复制到我的站点 bin 文件夹中:

Microsoft.ReportViewer.WebForms.dll Microsoft.ReportViewer.Common.dll

现在我收到错误消息:

本地报告处理过程中发生错误。 报表“Reports\QuotationViewReport.rdlc”的定义无效。 报告处理中出现意外错误。 无法加载文件或程序集“Microsoft.ReportViewer.ProcessingObjectModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。

我什至在本地机器上都找不到名为 Microsoft.ReportViewer.ProcessingObjectModel.dll 的 dll。

是否可以在不安装 ReportViewer 的情况下发布我的应用程序?

【问题讨论】:

【参考方案1】:

先决条件:在您的开发机器上安装 Microsoft ReportViewer 程序集(如answered by webkite)。

在 Visual Studio 中,从项目的 Add Reference 操作中,选择浏览选项卡并浏览到 GAC。 (C:\Windows\assembly\GAC_MSIL)。

在那里,找到Microsoft.ReportViewer.ProcessingObjectModel 程序集文件夹,选择适合您需要的版本子文件夹,并将程序集添加为本地引用。

然后在您的引用列表中找到该程序集,并将其Local Copy 属性切换为true

对于其他报表查看器程序集,您应该能够直接从Add Reference 对话框中的.Net 选项卡中添加它们。不要忘记也为他们将Local Copy 属性切换为true

使用此设置,ReportViewer 程序集将在每次构建时复制到您的构建目录,您应该能够轻松地将它们复制到您的目标部署环境。

您可以尝试使用NuGet 上提供的一些 ReportViewer 软件包。但它们似乎都不是微软官方提供的。

【讨论】:

这个解决方案拯救了我的一天!非常感谢。我认为只设置为 Microsoft.ReportViewer.WebForms.dll 和 Microsoft.ReportViewer.Common.dll 的本地副本就足够了,但需要将 Microsoft.ReportViewer.ProcessingObjectModel 添加到我的项目中。 你是我的英雄!谢谢! 谢谢!很有用! :-)【参考方案2】:

下载并安装 Microsoft Report Viewer 2010 可再发行包http://www.microsoft.com/download/en/details.aspx?id=6442

【讨论】:

【参考方案3】:

将这些文件添加到您网站的 bin 文件夹中:

Microsoft.ReportViewer.Common.dll

Microsoft.ReportViewer.WebForms.dll

Microsoft.ReportViewer.WebForms.xml

【讨论】:

这应该是最佳答案【参考方案4】:

现在可以作为 NuGet 包使用:

http://www.nuget.org/packages/Microsoft.ReportViewer.WebForms/

Install-Package Microsoft.ReportViewer.WebForms

【讨论】:

那些 NuGet 包确实看起来是官方的,由 Microsoft 发布。【参考方案5】:

尝试 C:\Windows\assembly 并搜索 Microsoft.ReportViewer.ProcessingObjectModel

或者

您可以在以下位置找到 ReportViewer.exe:C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ReportViewer\ReportViewer.exe

运行 ReportViewer.exe 后,该文件将复制到部署计算机上的 Global Assembly Cache 文件夹中

【讨论】:

c:\windows\assembly 没有 Microsoft.ReportViewer.ProcessingObjectModel.dll。 通过安装此 ReportViewer.exe 将解决此问题。但我无法在托管服务器上安装任何东西。【参考方案6】:

你好,你可以找到打开你的项目的dll文件 并添加参考并选择浏览并选择 c:/windowse /assemple/GAc_msil 在这里你可以找到微软报告查看器文件夹并选择你想要的

【讨论】:

以上是关于在不安装 Microsoft Report Viewer 的情况下发布网站的主要内容,如果未能解决你的问题,请参考以下文章

在不安装 Word 的情况下以编程方式使用“Microsoft 另存为 PDF”加载项

Report processing of Microsoft Dynamic AX

在不安装 Visual Studio 的情况下使用 Microsoft C++ 编译器

如何在不安装 Microsoft Office 的情况下生成 Excel 文件?

Microsoft Dynamic 报表应用report builder 实例

如何在不安装 2003 office web 的情况下使用 Modi