在不安装 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 文件?