1

我创建了一个使用 Microsoft.ReportViewer 来显示 rdlc 报告的应用程序。该应用程序在开发人员上运行良好。机器。现在我正在尝试将它部署在客户端计算机(Windows 7)上,但是当我生成报告时没有任何反应。什么都没有。没有错误信息,也没有异常。我猜这是由于缺少 Microsoft.ReportViewer.Winforms.dll/或框架?我已经为这个 dll 设置了 copyLocal=true 但仍然没有运气。问题是什么?

在将消息框放在不同的位置并捕获异常后,我发现需要在客户端计算机上安装 ReportViewer。这些是出现的错误消息

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

事实证明,我需要在客户端计算机上安装 ReportViewer.exe,或者需要提供安装程序所需的 dll。所以我添加了对以下 dll 的引用并标记了 CopyLocal=True,这解决了我的问题。

<Reference Include="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.Common\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.Common.dll</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Microsoft.ReportViewer.ProcessingObjectModel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.ProcessingObjectModel.DLL</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Microsoft.ReportViewer.WinForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
  <HintPath>C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WinForms\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WinForms.DLL</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Types\11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.Types.dll</HintPath>
  <Private>True</Private>
</Reference>
于 2015-09-20T05:55:27.857 回答