渲染简单RDLC文件时出现FatalExecutionEngineError问题求助
RDLC报表含占位符时无法渲染,无占位符可正常运行
环境信息
- Windows 10
- Visual Studio 2022
- CLR版本:v4.0.30319
- 项目类型:.NET Framework 4.7.2 Windows Forms应用程序
- 使用的ReportViewer控件版本:
Microsoft.ReportingServices.ReportViewerControl.Winforms150.1620.0、150.1586.0(两个版本均尝试)
问题描述
此前项目可正常运行,现在只要RDLC文件包含至少一个占位符(无论是内置字段、自定义参数还是简单文本占位符),报表就无法正常渲染;移除所有占位符后,报表可正常显示。
已尝试的解决操作
- 将.NET更新至最新版本
- 通过Visual Studio安装器安装多个.NET Framework版本
- 创建全新项目逐步复现问题,步骤如下:
- 创建.NET Framework 4.7.2 WinForms项目
- 在NuGet包管理器中安装
Microsoft.ReportingServices.ReportViewerControl.Winforms(两个版本都测试过) - 接受安装依赖
Microsoft.SqlServer.Types的提示 - 将ReportViewer控件添加到窗体并设置为停靠模式
- 右键项目→添加→新建项→报表,创建RDLC文件
- 设置报表的页面大小和交互大小为21cm×29.7cm
- 在报表左上角添加包含当前日期占位符的文本框
- 在窗体的ReportViewer控件中关联该RDLC文件
- 启动应用程序后触发报错
- 手动在项目的csproj文件中添加
Microsoft.SqlServer.Types的PackageReference,消除了NuGet警告,但报表渲染问题仍未解决
相关警告信息
安装ReportViewer时控制台出现以下警告,手动添加依赖后警告消失,但问题依旧:
NU1603: Microsoft.ReportingServices.ReportViewerControl.Winforms 150.1586.0 depends on Microsoft.SqlServer.Types (>= 14.0.0) but Microsoft.SqlServer.Types 14.0.0 was not found. An approximate best match of Microsoft.SqlServer.Types 14.0.314.76 was resolved.
内容的提问来源于stack exchange,提问作者BlueWidge
相关产品推荐
相关产品推荐

