You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 6中Stimulsoft报表报错:该平台不支持此操作

问题解决:.NET Core 6 WPF中StiReport.Compile()抛出PlatformNotSupportedException

原因分析

你使用的StiReport.dll是针对.NET Framework编译的旧版本,其Compile()方法依赖的部分API(如System.CodeDom相关组件)在.NET Core/.NET 6环境中已被移除或标记为不支持,导致平台兼容性错误。

解决方案

1. 升级到支持.NET 6的Stimulsoft版本

直接引用.NET Framework版本的StiReport.dll无法在.NET Core/.NET 6中正常工作,需通过NuGet安装适配.NET 6的官方包:

  • 搜索并安装Stimulsoft.Reports.Wpf.Net(对应.NET 5+的WPF报表组件)
  • 安装完成后,替换原有的引用,确保项目中使用的是适配.NET 6的Stimulsoft类库。

2. 移除显式的Compile调用(临时兼容方案)

若暂时无法升级组件,可尝试跳过Compile()方法调用。在新版本的Stimulsoft中,加载报表后Render()会自动处理编译逻辑,修改代码如下:

public MainWindow()
{
    InitializeComponent();

    var report = new StiReport();
    var pathreport = @"C:\Users\Administrator\source\repos\Gozaresh\Gozaresh\BUGETRP.mrt";

    report.Load(pathreport); // 先加载报表模板文件
    // 移除report.Compile();
    report.Render();
    report.Show();
}

3. 配置项目运行时标识

确保项目文件(.csproj)中指定了Windows平台的RuntimeIdentifier,例如:

<PropertyGroup>
    <TargetFramework>net6.0-windows</TargetFramework>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <UseWPF>true</UseWPF>
</PropertyGroup>

这能保证Stimulsoft组件调用Windows特定的原生API时正常工作。

内容的提问来源于stack exchange,提问作者مجتبی حکیمیان

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:58:13