Как работать с FastReport Avalonia на .NET 8 в Visual Studio for Mac

Как работать с FastReport Avalonia на .NET 8 в Visual Studio for Mac

Avalonia UI – это фреймворк основанный на .NET, активно используемый для разработки кроссплатформенных пользовательских интерфейсов. С помощью универсального API для построения приложений Avalonia поддерживает все основные платформы и среды исполнения и имеет свой уникальный интерфейс. Тем самым ваши бизнес-решения будет идентично выглядеть в каждой операционной системе.

FastReport Avalonia включает в себя мощное ядро обработки данных, уже привычный дизайнер отчетов и вьювер для готовых отчетов. Также в новом продукте доступны все форматы экспорта построенного отчета – PDF, Excel, MS Word и многие другие.

Библиотека полностью обратно совместима с FastReport WPF, FastReport .NET, FastReport Mono. Поддерживает Avalonia UI, .NET 7 и .NET 8.

В этой статье мы разберем подробно, как запустить FastReport Avalonia на операционной системе MacOS с использованием IDE Visual Studio.

Подготовительный этап

Первым делом нам необходимо установить Visual Studio for Mac. Дело в том, что для дальнейшей работы с шаблонами Avalonia необходима определенная версия Visual Studio, а именно 17.6.10. Вы можете ее скачать перейдя по этой ссылке. В ней можно включить поддержку .NET 8, об этом поговорим чуть позже.

Следующим шагом будет установка самого .NET 8. Для этого вы можете перейти на официальный сайт Microsoft и скачать инсталлер для MacOS.

Выбор SDK для дальнейшей работы

После установки SDK 8.0 нам необходимо настроить Visual Studio. Дело в том, что для работы с .NET 8 нужно включить его использование в Visual Studio. Для этого нажимаем на Visual Studio ПКМ и нажимаем на “Preferences”.

Настройки Visual Studio

В открывшемся окне листаем в самый низ до пункта “Preview Features” и ставим галочку на “Use the .NET 8 SDK…”.

Настройки Visual Studio

Нажимаем “ОК” и перезагружаем Visual Studio.

Когда мы прошли вышеперечисленные шаги, нам необходимо установить шаблоны Avalonia для дальнейшей работы. После их установки мы сможем выбрать готовые шаблоны в Visual Stiudio, чтобы упростить дальнейшую разработку. Для этого нам необходимо открыть консоль и ввести следующую команду:

dotnet new install Avalonia.Templates

Теперь мы можем приступить к созданию проекта в Visual Studio.

 

Создание приложения

Запускаем Visual Studio и создаем проект. При выборе шаблона листаем в самый низ к группе “Other” и выбираем “Custom”. В окне выбираем Avalonia .NET app. Это как раз те шаблоны, которые мы устанавливали через консольную команду. Нажимаем Continue.

Создаём новый проект с использованием Avalonia UI

Далее идет настройка шаблона. Выбор версии .NET и Avalonia. Рекомендуем выбирать версию Avalonia 11.1.0 –beta и выше, так как в ней были исправлены многие визуальные ошибки. В качестве нашего примера оставим версию .NET 8. Нажимаем “Continue”. 

Настройка нового проекта

Теперь у нас есть шаблонный проект Avalonia в Visual Studio. Далее нам необходимо подключить приватный NuGet сервер, где мы сможем получить NuGet пакеты Avalonia. Для этого нажимаем на наш проект ПКМ и выбираем “Manage NuGet Packages…”.

Настройка нового проекта

Подключение NuGet пакетов в проект

В появившемся окне, в самом конце есть «Package source: All sources». Разворачиваем список и нажимаем “Configure Sources…”.

Подключение NuGet пакетов в проект

В появившемся окне нажимаем “Add”. У нас появится окно для заполнения данных.
- Name: имя источника без пробелов (например FastReport-Nuget);
- Location: https://nuget.fast-report.com/api/v3/index.json;
- Username: email от аккаунта Быстрые отчеты;
- Password: пароль от аккаунта Быстрые отчеты.

Подключение к NuGet серверу

Когда мы ввели все нужные данные, можем закрыть окно. Теперь у нас есть приватный NuGet сервер, который мы можем использовать.

Следующим шагом будет добавление необходимых пакетов для проекта, а именно:
FastReport.Avalonia и FastReport.Forms.Avalonia.

Для этого в окне NuGet пакетов выбираем в качестве источника наш приватный NuGet сервер.

Для удобства мы напишем в поиске “Avalonia”, чтобы вывести пакеты с соответствующим названием. Выбираем нужные пакеты и устанавливаем их.

Подключение FastReport NuGet пакетов

Теперь, когда мы смогли настроить проект, то приступаем к написанию кода. Далее рассмотрим простой пример с демонстрацией работоспособности пакетов FastReport Avalonia. Сначала откроем файл MainWindow.axaml.cs и заполним его следующим образом:

using Avalonia.Controls;
using Avalonia.Interactivity;
using FastReport;
namespace FRAvalonia;
public partial class MainWindow : Window
{
 public MainWindow()
 {
 InitializeComponent();
 }
 public void ButtonClicked(object source, RoutedEventArgs args)
 {
 Report report = new Report();
 report.Load("Barcode.frx");
 report.Design();
 }
}

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

Далее переходим в MainWindow.axaml и заполняем его вот таким образом:

<Window xmlns="https://github.com/avaloniaui"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
 x:Class="FRAvalonia.MainWindow"
 Title="FRAvalonia">
 <Button Click="ButtonClicked" >Start Designer!</Button>
</Window>

Затем добавляем саму кнопку, у которой уже есть обработчик. Теперь мы можем запустить проект. При запуске проекта, у нас появится окно с кнопкой, нажимаем на нее. Наблюдаем как происходит магия и у нас запускается FastReport Designer на Avalonia.

Дизайнер FastReport Avalonia

Также мы можем включить предварительный просмотр и посмотреть на отчет в Preview.

Preview отчета

Таким образом нам удалось запустить FastReport Avalonia на MacOS с использованием Visual Studio. Как можно заметить, при запуске и настройке нет абсолютно ничего сложного. Достаточно установить пакеты SDK, настроить приватные NuGet пакеты и после можно пользоваться FastReport Avalonia. По всем вопросам обращайтесь в нашу техническую поддержку support@fastreport.ru. Приятного использования!