Ошибка просящая System.Private.XML при запуске отчета в FastReport.OpenSource.MVC.6.0

Раздел: FastReport .NET

При запуске отчета FastReport возвращает ошибку связанную со скриптом, если добавить метод написанный ниже

 private void splitTextByRowForBand(String nameDataSource, String text,DataBand dataBand,TableCell cell){

  DataTable fr_dt = new DataTable();

  fr_dt.TableName = nameDataSource;

  fr_dt.Columns.Add("Text");

 }

В ошибке написано: FastReport.Utils.CompilerException: (66,8): Error CS0012: The type 'IXmlSerializable' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Private.Xml, Version=6.0.0.0

Если убрать строчку

fr_dt.Columns.Add("Text");

Тогда отчет запускается.

При разработке отчета в дизайнере, этот скрипт работал.

Дизайнер версии 2023.3.0

Версия FastReport.OpenSource.MVC.6.0 2023.3.14

Комментарии

  • upd.

    Если добавить сборку System.Private.Xml по пути C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.32, прописать using System.Private;

    то ошибка перестает возникать, т.к изначальный код который должен выполняться выглядит следующим образом

    private void splitTextByRowForBand(String nameDataSource, String text,DataBand dataBand,TableCell cell){


     DataTable fr_dt = new DataTable();

     fr_dt.TableName = nameDataSource;

     fr_dt.Columns.Add("Text",typeof(String));

      

     ArrayList listItem = new ArrayList(text.Split('\n'));


     foreach(string textRow in listItem){

      fr_dt.Rows.Add(textRow);

     }


     Report.RegisterData(fr_dt,fr_dt.TableName);

     Report.GetDataSource(fr_dt.TableName).Enabled = true;

     dataBand.DataSource =Report.GetDataSource(nameDataSource);

     cell.Text = "["+nameDataSource+".Text"+"]";

    }


    Где

     fr_dt.Columns.Add("Text",typeof(String));

    Вызывает ошибку

    FastReport.Utils.CompilerException: Report script is invalid at FastReport.Utils.Config.OnScriptCompile(ScriptSecurityEventArgs e) at FastReport.Code.AssemblyDescriptor.TryInternalCompile(CompilerParameters cp, CompilerResults& cr) 

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.