【问题标题】:RDLC Report Won't Run -- Invalid Namespace 2016/01RDLC 报告不会运行——无效的命名空间 2016/01
【发布时间】:2018-07-06 13:21:54
【问题描述】:

我正在尝试使用 C# 和 Visual Studio 2017 开发一个打印本地报告的控制台应用程序。我收到以下异常。

Microsoft.Reporting.WinForms.LocalProcessingException:错误 在本地报告处理期间发生。 ---> Microsoft.Reporting.DefinitionInvalidException:定义的 报告 'h:\vs17\RackRoom\EndOfDay\TransactionReport\RackRoom.Reports.EndOfDay.TransactionReport.rdlc' 是无效的。 ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 报告定义无效。详细信息:报告定义 具有无效的目标命名空间 'http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition' 无法升级。在 Microsoft.ReportingServices.ReportPublishing.ReportPublishing.Phase1(ICatalogItemContext reportContext,Byte[] 定义,IChunkFactory createChunkCallback, CheckSharedDataSource checkDataSourceCallback, ResolveTemporaryDataSource resolveTemporaryDataSourceCallback, DataSourceInfoCollection originalDataSources,IDataProtection 数据保护,字符串和描述,字符串和语言, DataSourceInfoCollection& dataSources, Boolean& hasExternalImages, Boolean& hasHyperlinks) 在 Microsoft.ReportingServices.ReportPublishing.ReportPublishing.CreateIntermediateFormat(ICatalogItemContext reportContext,Byte[] 定义,IChunkFactory createChunkCallback, CheckSharedDataSource checkDataSourceCallback, ResolveTemporaryDataSource resolveTemporaryDataSourceCallback, DataSourceInfoCollection originalDataSources, PublishingErrorContext errorContext, AppDomain 编译TempAppDomain, Boolean generateExpressionHostWithRefusedPermissions, IDataProtection 数据保护,字符串和描述,字符串和语言, ParameterInfoCollection& 参数,DataSourceInfoCollection& dataSources、UserLocationFlags& userReferenceLocation、ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks)
在 Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileOdpReport(ICatalogItemContext 报告上下文,字节[]报告定义,IChunkFactory createChunkCallback, CheckSharedDataSource checkDataSourceCallback, ResolveTemporaryDataSource resolveTemporaryDataSourceCallback, DataSourceInfoCollection originalDataSources, PublishingErrorContext errorContext, AppDomain 编译TempAppDomain, Boolean generateExpressionHostWithRefusedPermissions, IDataProtection dataProtection、String&reportDescription、String&reportLanguage、 ParameterInfoCollection& 参数,DataSourceInfoCollection& dataSources、UserLocationFlags& userReferenceLocation、ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks)
在 Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(ICatalogItemContext 报告上下文,字节[]报告定义,IChunkFactory createChunkFactory, CheckSharedDataSource checkDataSourceCallback, ResolveTemporaryDataSource resolveTemporaryDataSourceCallback, DataSourceInfoCollection originalDataSources, AppDomain 编译TempAppDomain,布尔值 generateExpressionHostWithRefusedPermissions, ReportProcessingFlags processingFlags,IDataProtection 数据保护)在 Microsoft.Reporting.ReportCompiler.CompileReport(ICatalogItemContext 上下文,字节 [] 报告定义,布尔值 generateExpressionHostWithRefusedPermissions, ControlSnapshot& 快照)---内部异常堆栈跟踪结束---在 Microsoft.Reporting.ReportCompiler.CompileReport(ICatalogItemContext 上下文,字节 [] 报告定义,布尔值 generateExpressionHostWithRefusedPermissions, ControlSnapshot& 快照)在 Microsoft.Reporting.PreviewStore.StoredReport.EnsureCompiled(CatalogItemContextBase itemContext) 在 Microsoft.Reporting.PreviewStore.GetCompiledReport(CatalogItemContextBase 上下文,布尔重建,字节[]& reportDefinition,ControlSnapshot& 快照)在 Microsoft.Reporting.LocalService.GetCompiledReport(CatalogItemContextBase itemContext、布尔重建、ControlSnapshot 和快照)在 Microsoft.Reporting.WinForms.LocalReport.EnsureExecutionSession()
--- 内部异常堆栈跟踪结束 --- 在 Microsoft.Reporting.WinForms.LocalReport.EnsureExecutionSession()
在 Microsoft.Reporting.WinForms.LocalReport.InternalRender(字符串 format, Boolean allowInternalRenderers, String deviceInfo, PageCountMode pageCountMode, CreateAndRegisterStream createStreamCallback, 警告 [] 和警告)在 Microsoft.Reporting.WinForms.LocalReport.Render(字符串格式,字符串 deviceInfo, PageCountMode pageCountMode, CreateStreamCallback createStream, 警告 [] 和警告)在 Microsoft.Reporting.WinForms.LocalReport.Render(字符串格式,字符串 deviceInfo、CreateStreamCallback createStream、Warning[]& 警告)
在 RackRoom.EndOfDay.TransactionReport.Export(LocalReport 报告)中 H:\vs17\RackRoom\EndOfDay\TransactionReport\TransactionReport.cs:line 189 在 RackRoom.EndOfDay.TransactionReport.Main() 中 H:\vs17\RackRoom\EndOfDay\TransactionReport\TransactionReport.cs:line 147

我已经搜索并尝试了所有我能找到的东西,包括The report definition is not valid. Details: The report definition has an invalid target namespace 上的答案,但我的项目中没有对 Microsoft.ReportingServices.ReportViewerControl.WebForms 的引用,因为 (1) 它不是使用 asp 的 Web 项目.net 和 (2) 报告是本地 RDLC 文件。

该报告昨天还在工作,但在我对格式进行了一些更改后,它就停止了工作。我很绝望。我无法访问昨天未修改的源,即使我可以访问,我也需要了解为什么会发生这种情况。

(我讨厌这个 &@*%# P.O.S. 报告工具。)

【问题讨论】:

    标签: c# reporting-services visual-studio-2017 rdlc


    【解决方案1】:

    我从头开始重建报告,重新添加数据集,并一次将旧报告中的 tablix 复制到新报告中,以查看导致问题的原因。他们都没有。我仍然不知道为什么旧报告中会出现异常。

    【讨论】:

    • 问题出在报告参数上。添加参数后,Visual Studio 将报告从 2008 年升级到 2016 年。我显然需要 reportviewer 库版本 14
    猜你喜欢
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    相关资源
    最近更新 更多