ASP.NET Core中使用Stimulsoft运行代码报错求解决方案
ASP.NET Core 集成 Stimulsoft 报错解决方案
1. 服务注册校验
- 确保入口文件(Program.cs/Startup.cs)已注册 Stimulsoft 服务:
// 服务注册阶段添加 builder.Services.AddStimulsoftReports(); // 中间件配置阶段确保存在静态资源访问配置 app.UseStaticFiles();
2. 控制器逻辑校验
- 报表加载路径必须正确,优先使用wwwroot的绝对路径拼接:
public IActionResult GenerateReport() { var report = new StiReport(); // 拼接模板路径,示例为wwwroot/Reports目录下的mrt文件 string reportPath = Path.Combine(_webHostEnvironment.WebRootPath, "Reports", "你的报表文件.mrt"); report.Load(reportPath); // 数据源名称必须和报表模板内定义的数据源名称完全一致,大小写敏感 report.RegData("模板内数据源名称", 你的业务数据集); return StiNetCoreViewer.GetReportResult(report); } - 禁止返回未加载模板、未绑定数据源的空StiReport实例。
3. 视图代码校验
- 视图顶部先引入标签助手:
@addTagHelper *, Stimulsoft.Report.NetCore - Viewer组件的属性要和控制器方法完全对应:
<sti-net-core-viewer action="GenerateReport" controller="你的控制器名(不带Controller后缀)" width="100%" height="800px" />
4. 报表模板校验
- 模板内定义的数据源名称、字段名称,要和控制器
RegData方法传入的参数完全一致,大小写不允许有偏差 - 移除模板内未定义的变量、表达式引用,避免模板本身语法错误
5. 版本兼容校验
- 确保安装的Stimulsoft Nuget包版本和当前ASP.NET Core框架版本匹配,例如.NET 6环境不要使用仅支持.NET 3.1的Stimulsoft版本
- 确认所有依赖包安装完整,必要包包括
Stimulsoft.Reports.NetCore、Stimulsoft.Reports.Web.NetCore
内容的提问来源于stack exchange,提问作者Ehsan Fatahi
相关产品推荐
相关产品推荐

