Как работать с FastReport Avalonia на .NET 8 в VSCodium для "Альт Рабочая станция" 10

"Альт Рабочая станция" — универсальная операционная система для компьютеров и ноутбуков. Она включает в себя расширенный набор программ и драйверы современных устройств. А также содержит графическую оболочку MATE.

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 на операционной системе "Альт Рабочая станция" 10 с использованием IDE VSCodium.

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

Самое первое действие, которое нам необходимо сделать – это обновление "Альт Рабочая станция" 10. Заходим в root командой:

su-

Вводим пароль для root пользователя. Далее вводим команду:

apt-get update

Внимание! После этого не выходим из root и продолжаем подготовительный этап. Далее будет установка .NET 8. Используем команду:

apt-get install dotnet-sdk-8.0

Убедимся в том, что пакеты были установлены. Используем команду:

dotnet –info

У нас должен быть такой список, если у вас не установлены dotnet sdk других версий.

Список пакетов .NET

Теперь нам необходимо настроить сертификаты доверия для различных пакетов Microsoft. Дело в том, что "Альт Рабочая станция" 10 не доверяет некоторым сертификатам NuGet пакетов, например, SkiaSharp. Из-за этого нам не удастся создать проект Avalonia, и мы будем получать ошибку NU3018.

Шаг 1. Нам необходимо скачать файл codesignctl.pem и сразу поменять ему расширение на .crt. Для этого мы будем использовать команду:

wget -O codesignctl.crt https://raw.githubusercontent.com/dotnet/sdk/main/src/Layout/redist/trustedroots/codesignctl.pem

ВАЖНО!!! В команде мы используем заглавную –O для моментального форматирования, и чтобы не оставалось лишних файлов. Иначе сертификат будет испорчен.

Шаг 2. Нужно переместить файл (не копировать) командой:

mv ./codesignctl.crt /etc/pki/ca-trust/source/anchors

Шаг 3. Обновляем сертификаты командой:

update-ca-trust

После того, как мы установили .NET и настроили сертификаты, нам необходимо установить VSCodium. Для того, чтобы установить VSCodium, вводим команду:

apt-get install –y codium

Внимание! После этих действий мы рекомендуем выйти из режима root для того, чтобы избежать возможных проблем в работе c VSCodium. Теперь нам необходимо установить шаблоны Avalonia. Вводим команду:

dotnet new install Avalonia.Templates

Для того, чтобы убедиться в установленных шаблонах, мы можем ввести команду:

dotnet new list

У нас должен быть такой список, где можно увидеть шаблоны Avalonia:

Список шаблонов .NET

Когда мы убедились, что все настроено правильно, открываем VSCodium. Запускаем приложение VSCodium и переходим во вкладку “Расширения”. Нам необходимо установить:

1) Avalonia for VSCode. Мы будем создавать приложение не через консольную команду, а непосредственно в VSCodium. Данное расширение позволит нам в интерфейсе создать проект.

2) .NET Install Tool. Это расширение подтянется автоматически вместе с Avalonia for VSCode.

3) C#. Необходим для удобной разработки и IntelliSense. Можно обойтись и без него, но в таком случае разработка приложения может быть в какой-то степени неудобна.

4) Русский язык по желанию.

Список расширений для VSCodium

После всех этих действий мы можем приступить к созданию приложения.

 

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

Переходим в проводник и из-за установленного расширения Avalonia for VSCode у нас есть возможность сразу создать проект. Нажимаем “Create Avalonia Project”.

Окно приветствия VSCodium

Далее выбираем «Avalonia app» и задаем имя проекту. В нашем случае, мы назовем проект FastReportAvalonia.

Список шаблонов Avalonia

После создания проекта у вас может возникнуть ошибка при установке .NET 8 в проект. Ее можно исправить следующим образом:

1) В окне ошибки нажать “Configure Manager”;

2) Явно указать путь к .NET 8. В чистом “Альт Рабочая станция” 10, по умолчанию .NET устанавливается в, usr/lib64/dotnet/dotnet. Используем этот путь.

Ошибка при установке .NET

После того как мы исправили ошибку пути .NET, нам необходимо настроить приватный NuGet сервер. Для этого используем команду в терминале на VSCodium.

dotnet nuget add source https://nuget.fast-report.com/api/v3/index.json --name fr_nuget --username myaccount@fastreport.ru --password 1234Password5678 --store-password-in-clear-text

Если все прошло успешно, мы получим сообщение, о том, что источник пакетов с именем “PackageName” добавлен. Также можно убедиться, используя команду:

dotnet nuget list source

У нас должен быть такой список:

Список источников NuGet

После этого нам необходимо подключить пакеты FastReport. Для этого перейдите в файл с расширением .csproj и добавьте следующие строчки. Где Version= номер версии пакетов (на момент написания статьи актуальная версия - 2024.1.10).

<PackageReference Include=”FastReport.Avalonia” Version=”2024.1.10” />
<PackageReference Include=”FastReport.Forms.Avalonia” Version=”2024.1.10” />

Наш файл должен выглядеть примерно так:

Файл .csproj

После этого переходим в терминал на VSCodium и вводим команду:

dotnet restore

Эта команда нужна для восстановления пакетов, и чтобы VSCodium смог их обнаружить. Теперь переходим в файл MainWindow.axaml и редактируем его:

<Window xmlns="https://github.com/avaloniaui"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 x:Class="FastReportAvalonia.MainWindow"
 Title="FastReportAvalonia" 
 Width="300" Height="400">
 <Border Background="LightBlue" BorderBrush="Black" 
 BorderThickness="2" Padding="15">
 <Grid Background="White" RowDefinitions="*,auto,*,auto,*"> 
 <TextBlock Grid.Row="1" Grid.Column="0"
 FontSize="18" HorizontalAlignment="Center">
 Привет, FastReport.Avalonia!
 </TextBlock>
 <Button Grid.Row="3" Grid.Column="0" 
 HorizontalAlignment="Center" Click="ButtonClicked">
 Запустить Дизайнер 
 </Button>
 </Grid>
 </Border>
</Window> 

Далее нам необходимо написать логику для кнопки, для этого переходим в файл MainWindow.axaml.cs и создаем событие.

using FastReport;
…..
 
public void ButtonClicked(object source, RoutedEventArgs args)
{
 Report report = new Report();
 report.Load(“Отчет.frx);
 report.Design();
}

 

Файл MainWindow.axaml.cs

Теперь мы можем запустить наше приложение. Используем команды по очереди:

1) Для компиляции приложения используем:

dotnet build

dotnet build

2) Для запуска используем:

dotnet run

Если все прошло успешно, то у нас запустится окно с приветствием и кнопкой. Нажимаем на нее для запуска дизайнера с отчетом.

Окно приветствия

Дизайнер FastReport Avalonia

При нажатии на Preview мы запустим предварительный просмотр.

Preview отчета

Таким образом нам удалось запустить FastReport Avalonia на "Альт Рабочая станция" 10 с использованием VSCodium. Подготовительный процесс имеет свои нюансы и их необходимо строго соблюдать, чтобы избежать проблем с правами доступа к файлам. В целом нам удалось запустить FastReport Avalonia без особых сложностей, как например с отображением текста и объектов отчета. После подготовительного процесса и настройки приватного NuGet сервера вы можете быстро создавать несколько приложений для своих проектов. По вопросам обращайтесь в нашу техническую поддержку support@fastreport.ru. Приятного использования!