代码之家  ›  专栏  ›  技术社区  ›  WAQ

部署后无法在客户端计算机上生成RDLC报告

  •  1
  • WAQ  · 技术社区  · 9 年前

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

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

    enter image description here

    enter image description here

    1 回复  |  直到 9 年前
        1
  •  1
  •   WAQ    9 年前

    原来我需要安装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>