FastScript .NET

A cross-platform library for complex C# scripts in environments without code generation (Native AOT, WASM, iOS).

v. 2025.1.21

Libraries for executing complex scripts provide the ability to dynamically generate and execute code, which can be useful in various scenarios such as developing plugins, creating user scripts, and so on.

Features and Benefits FastScript .NET

Integrability in Projects
Install the necessary package from the NuGet repository or download the package from our website and add the required libraries to your project. No additional modules or special extensions are needed.
Unique Development
The FastScript .NET interpreter does not use CodeDOM and Roslyn platforms. This allows the script library to work seamlessly in environments without code generation such as Native AOT, WASM, and iOS.
Wide Capabilities
Supports scripts that conform to the C# 1.0 specification (with some limitations and additions), including features such as creating classes, structs, events, delegates, etc.
Memory Savings
With each script compilation, FastScript .NET does not create separate DLL assemblies; instead, it stores information in a cache. This saves memory on your device.
Security
FastScript .NET allows you to restrict the use of unsafe APIs, such as file system or network operations. You can limit access to entire assemblies, namespaces, or individual types.
Compactness
The small size of the library (just 300 KB) makes it convenient to use even in resource-constrained projects without overloading the system.
Working in Constrained Environments

Working in Constrained Environments

FastScript .NET is built on the classic "lexer-parser-interpreter" model. It does not use compilation to machine code, allowing it to operate in environments where code generation is restricted (NativeAOT, iOS, WASM). Its performance is comparable to other solutions that use interpretation (such as Lua and JavaScript), although it is slower than compiled C# code.

FastScript .NET supports script execution on various platforms, including iOS. This ensures flexibility and allows the library to be used in a variety of projects without being limited to a single platform. Compatibility with different platforms enhances its applicability and improves development efficiency.

C# as a Scripting Language

C# as a Scripting Language

FastScript .NET has full integration with the .NET platform and allows the use of all libraries, frameworks, and APIs. A unified code base in C# for scripts eliminates the need to maintain code in multiple languages.

Our library helps optimize resource usage, such as memory and CPU time. This is particularly important for mobile applications and other projects operating under constrained resource conditions.

Replacing Popular Solutions

Replacing Popular Solutions

The main tools for scripting in C# are CodeDOM (.NET Framework) and Roslyn (.NET). These solutions offer high performance and support all features of C#, but they have some limitations: they do not work in environments where code generation is prohibited, and there are no tools to restrict unsafe APIs.

FastScript .NET is designed specifically for those who want to bypass these limitations. During execution, our library does not create assemblies that remain in memory until the application terminates. Instead, it allocates structures in memory for the script, which are cleaned up by the garbage collector (GC) after the script instance is no longer in use.

How to buy FastScript .NET?

This library is not sold separately, but is included in any version of the .NET report generators. Add to it a cross-platform tool for Avalonia reports, web reporting, FastReport .NET WinForms, WPF, Mono or the most complete of the product sets is FastReport .NET Ultimate.

In addition, in Ultimate .NET includes components for data visualization, namely a business graph with a set of diagrams, and OLAP products for fast processing of large amounts of data.

Resent articles

March 25, 2025

How to Merge Multiple Reports into One in FastReport .NET

FastReport .NET is a powerful tool for creating and managing reports, widely used in various fields. It provides developers with the ability to create complex and professional reports using a multitude of features and capabilities. One of the key features of FastReport .NET is the ability to merge multiple reports into one. This can be useful where you need to combine data from different sources or present information in a more convenient format. In this article, we will discuss how to merge multiple reports into one in FastReport .NET. Open the FastReport .NET report designer and load your report.   Once the designer is open, select the “File” menu and then “Open Page.”   In the file system, select the report that you want to merge with the first one and load it.   Now, choose the required page and click OK. Starting from FastReport .NET version 2025.1, you can enable the “Add as Link” option, which means that the report will include a link to the page rather than a copy of it. This means that if the page is changed in the original report, the changes will be reflected in all reports where the page has been added as a link. Conversely, if the page is modified in one of the reports that link to it, it will be changed in the original report as well.   If everything went successfully, you will have access to the added pages from the selected template at the bottom of the designer.   To merge them into a single report, you can save the current modified template, or save it as a new template. To do this, select the “File” menu and then “Save As.” Save the new report under a new name.   In this article, we have covered in detail how to merge several reports into one in FastReport .NET. We explored the main tools and methods that FastReport .NET provides for merging reports, as well as how to use them effectively.
Read
March 11, 2025

How to Use FastReport .NET Avalonia on Fedora Workstation with Wayland Protocol

Wayland is a protocol designed to manage a graphical server in Linux-based operating systems and other UNIX-like OS. Avalonia UI is a framework based on .NET, actively used for developing cross-platform user interfaces. With a universal API for building applications, Avalonia supports all major platforms and runtime environments and has its unique interface. This way, your business solutions will look identical across every operating system. FastReport .NET Avalonia includes a powerful data processing core, a familiar report designer, and a viewer for finished reports. The new product also offers all export formats for the generated report — PDF, Excel, MS Word, and many others. In this article, we will discuss how to run FastReport .NET Avalonia on the "Fedora Workstation 39" operating system with Wayland protocol.     Main Differences Between Wayland and X11 In the Wayland protocol, versions permeate it from top to bottom. Each interface has a specific version, and each protocol object implements a specific version of its interface. This eliminates the possibility of version conflicts that exist in X, as version negotiation is tied to the connection rather than to the clients. Unlike X11, in Wayland, it is possible to precisely determine which version of an extension an application receives. Working with input devices in Wayland is similar to Xinput 2.2, but without the outdated code clutter and Master/Slave relationships between input devices. The global object seat defines a group of input devices, including a mouse, keyboard, and touchscreen. Unlike X, Wayland does not have an API for rendering and does not deal with creating graphical images. Its role is to manage buffers containing client pixels in such a way that application A does not make unwanted changes to the buffers of application B. Clients determine which pixels will be in the buffers and are responsible for the image that is displayed on the screen!     Installation of Required Software We need to update the indices, as well as install .NET 6.0 for further work. Open the console and enter the following commands: sudo dnf update sudo dnf install dotnet-sdk-6.0 After that, download the FastReport .NET Avalonia Trial library for Linux from the Fast Reports Inc. website. Next, extract the FastReport.Avalonia.LinuxDemo.zip archive into a convenient directory.     Running FastReport .NET Avalonia Open the terminal and navigate to the directory where you extracted the FastReport .NET Avalonia Trial application, and then enter the linux-x64 folder.   To run the FastReport .NET Avalonia Trial, we need to enter the following command in the terminal: dotnet AvaloniaDemo.dll After that, you will be able to view the demonstration report of FastReport .NET Avalonia.   It's time to go to the report designer. To do this, click on the "Designer" button in the upper panel of the demo application.   Thus, we have managed to run FastReport .NET Avalonia on the "Fedora Workstation 39" operating system with the Wayland protocol. There is nothing complicated about launching and setting up the connection. It is enough to install the SDK packages and unpack the archive with the application, after which you can use the report designer. For any questions, please contact our technical support at support@fast-report.com. Enjoy using it!
Read
March 07, 2025

How to Create a QR Code with an Image in FastReport .NET

QR codes are becoming increasingly popular tools for storing and sharing information. In reports and documents, they can be used for quick access to websites, contacts, product information, and much more. FastReport .NET is a powerful library for creating reports in .NET applications. It allows not only the generation of text and graphic reports but also the integration of dynamic elements such as QR codes. In this article, we will explore how to create a QR code with an image in FastReport .NET to enhance the visual representation of reports and improve their functionality. First, we need to create a regular QR Code in the designer. To do this, go to the components panel and select “Barcode” > “2D” > “QR Code.”   After placing our QR Code, we go to its properties and set the ErrorCorrection property to H.     This property is responsible for error correction using Reed-Solomon code. It can take values: L (low—7%), M (medium—15%), Q (25%), H (high—30%). By default, it is set to L. The redundancy (ErrorCorrection) is necessary for correctly reading the data when the image of the code is partially damaged or when an image is placed over it. Next, we will create a PictureObject in which we will place our image with the logo.     Now we can place our image directly on the QR Code. Reading will function correctly.     So, we have figured out how to insert an image into our QR Code. The FastReport designer allows you to do this easily in just a few clicks. We can use this feature, for example, to link to the official website via phone, so clients know which QR code will lead them there just by looking at the image. For any questions, you can contact our support team. Enjoy using the tool!
Read
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.