How to use the FastReport.Core library from nuget

2018-05-20

UPD: Applies to the versions of FastReport .NET before 2022.2. License packages are now available on our NuGet server.

One of the innovations of FastReport.NET 2018 was the ability to use NuGet packets FastReport. To install the packages, it was necessary to create a local package source and place the compiled FastReport libraries in it. This mechanism is preserved for licensed packages, but demonstration versions are now available in the general NuGet repository:

https://www.nuget.org/profiles/FastReports

Let's look at the example. Create a .NET Core application. Call the context menu for the solution and select the item Manage NuGet Packages.

Choose Packages source - nuget.org. In the search bar type FastReport.

You need to install both packages: FastReport.Core и FastReport.Web.

The first is the actual FastReport library for the .Net Core framework. And the second one is a WebReport object that allows you to display the report and manage it in the browser.

To display the report in the application, we need a report file. And since the report works with the database, then the database file do so. Let's take from the delivery of FastReport.Net the Master-Detail.frx report template and the nwind.xml database file. Put them in the Reports folder, which you must first create in the root directory of wwwroot:

 

Open the class HomeController.

We need an interface IHostEnviroment, with which you can get information about the environment. Specifically, we need the WebRootPath property to specify the path to the report file and the database. Therefore, we add a constructor of a class that takes as an argument the interface of interest to us.

1
2
3
4
5
private readonly IHostingEnvironment _hostingEnvironment; 
public HomeController(IHostingEnvironment hostingEnvironment)
 {
 _hostingEnvironment = hostingEnvironment;
 }

 And in the Index method, write the following code:

1
2
3
4
5
6
7
8
9
10
11
 public IActionResult Index()
 {
 string webRootPath = _hostingEnvironment.WebRootPath; // Get the path to the wwwroot folder
 WebReport webReport = new WebReport(); // Create a Web Report Object
 webReport.Report.Load(webRootPath + "/reports/Master-Detail.frx"); // Load the report into the WebReport object
 var dataSet = new DataSet(); // Create a data source
 dataSet.ReadXml(webRootPath + "/reports/nwind.xml"); // Open the xml database
 webReport.Report.RegisterData(dataSet, "NorthWind"); // Register the data source in the report
 ViewBag.WebReport = webReport;
 return View();
 }

 To display a WebReport object on a web page, change the Index.cshtml view as follows:

1
2
3
4
@{
 ViewData["Title"] = "Home Page";
}
 @await ViewBag.WebReport.Render();

In the file Startup.cs you also need to make changes - add only one line of code:

1
2
3
4
5
 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
 app.UseFastReport();

}

 Now run the application:

Usege of FastReport.Core is now even easier. However, licensed packages still have to be installed from a local source. Configuring the local source of NuGet packages takes you no more than a minute of time.

September 19, 2024

How to troubleshoot the most common issues when installing FastReport VCL

We have compiled a list of the most popular problems when installing FastReport VCL and have prepared detailed instructions on how to fix the problems that have arisen.
August 12, 2024

How to build and install the Postgres plugin in FastReport .NET

This article describes how to connect to the database using the FastReport .NET plugin for the report designer from Visual Studio via the NuGet server.
August 08, 2024

How to install FastReport .NET and its components on Windows

Step-by-step instructions for online and manual installation via the FastReport registration code.NET and its components in Windows.
Fast Reports
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.