Ошибка просящая System.Private.XML при запуске отчета в FastReport.OpenSource.MVC.6.0
При запуске отчета 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)