0

我的应用程序(winforms .net 2.0 / vs2008)在我的开发机器上运行良好,但在其中一台测试机器上我遇到了这个异常。有没有人遇到过类似的事情?

************** 异常文本 **************
Microsoft.Reporting.WinForms.LocalProcessingException:本地报表处理过程中出错。---> Microsoft.Reporting.DefinitionInvalidException:报告“主报告”的定义无效。---> Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:报告服务器遇到配置错误。有关详细信息,请参阅报表服务器日志文件。
   在 Microsoft.ReportingServices.Diagnostics.DataProtectionLocal.ProtectData(字节 [] 数据,Int32 dwFlags)
   在 Microsoft.ReportingServices.DataExtensions.DataSourceInfo..ctor(字符串 originalName、字符串扩展、字符串 connectionString、布尔 originalConnectStringExpressionBased、布尔集成安全、字符串提示)
   在 Microsoft.ReportingServices.ReportProcessing.ReportPublishing.ReadDataSource(DataSourceNameValidator dataSourceNames,PublishingContext 上下文)
   在 Microsoft.ReportingServices.ReportProcessing.ReportPublishing.ReadDataSources(PublishingContext 上下文)
   在 Microsoft.ReportingServices.ReportProcessing.ReportPublishing.ReadReport()
   在 Microsoft.ReportingServices.ReportProcessing.ReportPublishing.Phase1(CatalogItemContext reportContext、Byte[] 定义、CreateReportChunk createChunkCallback、CheckSharedDataSource checkDataSourceCallback、String& 描述、String& 语言、DataSourceInfoCollection& 数据源、UserLocationFlags& userReferenceLocation、Boolean& hasExternalImages、Boolean& hasHyperlinks)
   在 Microsoft.ReportingServices.ReportProcessing.ReportPublishing.CreateIntermediateFormat(CatalogItemContext reportContext, Byte[] 定义, CreateReportChunk createChunkCallback, CheckSharedDataSource checkDataSourceCallback, PublishingErrorContext errorContext, AppDomain 编译TempAppDomain, Boolean generateExpressionHostWithRefusedPermissions, String& 描述, String& 语言, ParameterInfoCollection&参数, DataSourceInfoCollection& dataSources, UserLocation&Flags& userReference dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks)
   在 Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileReport(CatalogItemContext reportContext, Byte[] reportDefinition, CreateReportChunk createChunkCallback, CheckSharedDataSource checkDataSourceCallback, PublishingErrorContext errorContext, AppDomain compilationTempAppDomain, Boolean generateExpressionHostWithRefusedPermissions, String& reportDescription, String& reportLanguage, ParameterInfoCollection& parameters, DataSourceInfoCollection&dataReferenceLocation, UserArrayListInfoCollection&dataSources, UserArrayList dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks)
   在 Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(CatalogItemContext reportContext,Byte[] reportDefinition,CreateReportChunk createChunkCallback,CheckSharedDataSource checkDataSourceCallback,AppDomain 编译TempAppDomain,布尔生成ExpressionHostWithRefusedPermissions)
   在 Microsoft.Reporting.ReportCompiler.CompileReport(CatalogItemContext 上下文,Byte[] reportDefinition,布尔生成ExpressionHostWithRefusedPermissions,ReportSnapshotBase& 快照)
   --- 内部异常堆栈跟踪结束 ---
   在 Microsoft.Reporting.ReportCompiler.CompileReport(CatalogItemContext 上下文,Byte[] reportDefinition,布尔生成ExpressionHostWithRefusedPermissions,ReportSnapshotBase& 快照)
   在 Microsoft.Reporting.StandalonePreviewStore.StoredReport.CompileReport()
   在 Microsoft.Reporting.StandalonePreviewStore.StoredReport.get_Snapshot()
   在 Microsoft.Reporting.StandalonePreviewStore.GetCompiledReport(CatalogItemContext 上下文,布尔重建,ReportSnapshotBase& 快照)
   在 Microsoft.Reporting.LocalService.GetCompiledReport(CatalogItemContext itemContext,布尔重建,ReportSnapshotBase& 快照)
   在 Microsoft.Reporting.LocalService.CompileReport(CatalogItemContext itemContext,布尔重建)
   在 Microsoft.Reporting.WinForms.LocalReport.CompileReport()
   --- 内部异常堆栈跟踪结束 ---
   在 Microsoft.Reporting.WinForms.LocalReport.CompileReport()
   在 Microsoft.Reporting.WinForms.LocalReport.SetParameters(IEnumerable`1 参数)
   在 C:\Data\projects\workdir_cpv\Src\Classes\Helpers\Report.cs:line 112 中的 XXX.Helpers.Report.PrintFavs(List`1 list, String header, String filename)
4

3 回答 3

0

我曾经有过类似的事情。您可能需要确保测试机器在 GAC 中安装了 ReportViewer dll。Microsoft 创建了一个安装程序来简化此操作。

问题:您是否在本地模式下使用 Reporting Services,并在 winforms 中使用报表查看器控件?

于 2008-12-04T15:53:11.563 回答
0

用于报表和报表查看器的 vs2008 设计器不向后兼容 2.0。同样,您无法使用 vs2008 设计 2005 报告 - 这可能是您的问题。

于 2008-12-04T15:57:09.697 回答
0

我的安装程序复制所有必需的 dll

Microsoft.ReportViewer.Common.dll

Microsoft.ReportViewer.ProcessingObjectModel.dll

Microsoft.ReportViewer.Winforms.dll

到 ProgramFiles/myAppname 文件夹。

它在 Vista/XP 上完美运行,但问题在于 Win98。我会尝试在 GAC 上安装这些 dll,也许这是个问题。我试图避免在我的安装程序中运行额外的安装程序。

@keithwarren7:

如果这是真的,那真的很愚蠢。您知道.net 2.0 的任何简单且免费的报告引擎吗?

于 2008-12-04T16:15:14.310 回答