Hello,
We have recently upgraded our .net solutions/projects to .Net 8.0.
In our old version, we have a ReportsController.cs which requests into the v18 Telerik.Reports framework project, and renders the report on the front end view the TelerikHtmlViewer template.
ex/ The Report Controller 4,6 framework code working fine with Telerik.Reporting.18.0.24.305.
using Microsoft.AspNetCore.Mvc;
using Telerik.Reporting.Services;
namespace HarWAPICore.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ReportsController : APIBaseController
{
static readonly ReportServiceConfiguration configurationInstance =
new ReportServiceConfiguration
{
HostAppId = "MyApp",
ReportSourceResolver = new UriReportSourceResolver(httpContextAccessor.HttpContext.GetServerVariable()..Current.Server.MapPath("~/Reports"))
.AddFallbackResolver(new TypeReportSourceResolver()),
Storage = new Telerik.Reporting.Cache.Interfaces.IStorageProvider(),
};
public ReportsController(IConfiguration configuration, IWebHostEnvironment hostEnvironment,
IHttpContextAccessor httpContextAccessor) : base(configuration, hostEnvironment, httpContextAccessor)
{
ReportServiceConfiguration = configurationInstance;
}
}
}
And of course there's a separate Reports Projects with all of the Report designs, Charts, etc.
-----------------------------------------------------
Now....after UPGRADING our Reports project to .Net 8 (via the Visual Studio upgrade tool) it is breaking on the Charts lib. And I found this link below that Charts is obsolete.
https://docs.telerik.com/reporting/report-items/chart-(obsolete)
Here's an example of one Exams.Designer.cs file that breaks everywhere on"Charting".
namespace MyReports
{
partial class Exams
{
#region Component Designer generated code
/// <summary>
/// Required method for telerik Reporting designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
Telerik.Reporting.TableGroup tableGroup1 = new Telerik.Reporting.TableGroup();
Telerik.Reporting.TableGroup tableGroup2 = new Telerik.Reporting.TableGroup();
Telerik.Reporting.TableGroup tableGroup3 = new Telerik.Reporting.TableGroup();
Telerik.Reporting.NavigateToReportAction navigateToReportAction1 = new Telerik.Reporting.NavigateToReportAction();
Telerik.Reporting.TypeReportSource typeReportSource1 = new Telerik.Reporting.TypeReportSource();
Telerik.Reporting.Charting.Styles.ChartMargins chartMargins1 = new Telerik.Reporting.Charting.Styles.ChartMargins();
Telerik.Reporting.Charting.ChartAxisItem chartAxisItem1 = new Telerik.Reporting.Charting.ChartAxisItem();
Telerik.Reporting.Charting.ChartAxisItem chartAxisItem2 = new Telerik.Reporting.Charting.ChartAxisItem();
Telerik.Reporting.Charting.ChartAxisItem chartAxisItem3 = new Telerik.Reporting.Charting.ChartAxisItem();
Telerik.Reporting.Charting.ChartAxisItem chartAxisItem4 = new Telerik.Reporting.Charting.ChartAxisItem();
Telerik.Reporting.Charting.ChartAxisItem chartAxisItem5 = new Telerik.Reporting.Charting.ChartAxisItem();
Telerik.Reporting.Charting.ChartAxisItem chartAxisItem6 = new Telerik.Reporting.Charting.ChartAxisItem();
Telerik.Reporting.Charting.ChartAxisItem chartAxisItem7 = new Telerik.Reporting.Charting.ChartAxisItem();
Telerik.Reporting.Charting.ChartSeries chartSeries1 = new Telerik.Reporting.Charting.ChartSeries();
Telerik.Reporting.TableGroup tableGroup4 = new Telerik.Reporting.TableGroup();
Telerik.Reporting.TableGroup tableGroup5 = new Telerik.Reporting.TableGroup();
Telerik.Reporting.TableGroup tableGroup6 = new Telerik.Reporting.TableGroup();
Telerik.Reporting.NavigateToReportAction navigateToReportAction2 = new Telerik.Reporting.NavigateToReportAction();
Telerik.Reporting.TypeReportSource typeReportSource2 = new Telerik.Reporting.TypeReportSource();
Telerik.Reporting.Charting.Styles.ChartMargins chartMargins2 = new Telerik.Reporting.Charting.Styles.ChartMargins();
Telerik.Reporting.Charting.Styles.ChartMargins chartMargins3 = new Telerik.Reporting.Charting.Styles.ChartMargins();
Telerik.Reporting.Charting.ChartSeries chartSeries2 = new Telerik.Reporting.Charting.ChartSeries();
...
...
Here's what it looks like after a rebuild.
What do I do at this point ? Can my API Core projectI somehow call into my old Reports Framework project? Or is there a Telerik upgrade tool that I can download ?
Please advise...
thanks,
Bob
We made some progress and got past a big hurdle where it couldn't resolve the Reports DLL.
We downloaded and installed the v18...514 msi package, and created a new project to see how your system would scaffold it.
We used some code from your ReportsController.cs in .Net 8, and used it in our .Net 8 ReportsController.cs (with success).
We also added our OLD 4.6 Framework Reports project as a reference to our API Core Project.
This worked to resolve the to the Reports DLL, but our reports crash out on the CHARTS lib.
Our current idea is to separate out the old Telerik.Reporting DLLs, so our old framework reports project doesn't use the new Telerik Core DLL.
Any further ideas on what to do ? Again, we'd like to keep the OLD .Net Framework Reports projects working as-is, with charts and all.