"Альт Рабочая станция" — универсальная операционная система для компьютеров и ноутбуков. Она включает в себя расширенный набор программ и драйверы современных устройств. А также содержит графическую оболочку 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 других версий.
Теперь нам необходимо настроить сертификаты доверия для различных пакетов 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:
Когда мы убедились, что все настроено правильно, открываем VSCodium. Запускаем приложение VSCodium и переходим во вкладку “Расширения”. Нам необходимо установить:
1) Avalonia for VSCode. Мы будем создавать приложение не через консольную команду, а непосредственно в VSCodium. Данное расширение позволит нам в интерфейсе создать проект.
2) .NET Install Tool. Это расширение подтянется автоматически вместе с Avalonia for VSCode.
3) C#. Необходим для удобной разработки и IntelliSense. Можно обойтись и без него, но в таком случае разработка приложения может быть в какой-то степени неудобна.
4) Русский язык по желанию.
После всех этих действий мы можем приступить к созданию приложения.
Переходим в проводник и из-за установленного расширения Avalonia for VSCode у нас есть возможность сразу создать проект. Нажимаем “Create Avalonia Project”.
Далее выбираем «Avalonia app» и задаем имя проекту. В нашем случае, мы назовем проект FastReportAvalonia.
После создания проекта у вас может возникнуть ошибка при установке .NET 8 в проект. Ее можно исправить следующим образом:
1) В окне ошибки нажать “Configure Manager”;
2) Явно указать путь к .NET 8. В чистом “Альт Рабочая станция” 10, по умолчанию .NET устанавливается в, usr/lib64/dotnet/dotnet. Используем этот путь.
После того как мы исправили ошибку пути .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
У нас должен быть такой список:
После этого нам необходимо подключить пакеты FastReport. Для этого перейдите в файл с расширением .csproj и добавьте следующие строчки. Где Version= номер версии пакетов (на момент написания статьи актуальная версия - 2024.1.10).
<PackageReference Include=”FastReport.Avalonia” Version=”2024.1.10” /> <PackageReference Include=”FastReport.Forms.Avalonia” Version=”2024.1.10” />
Наш файл должен выглядеть примерно так:
После этого переходим в терминал на 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(); }
Теперь мы можем запустить наше приложение. Используем команды по очереди:
1) Для компиляции приложения используем:
dotnet build
dotnet build
2) Для запуска используем:
dotnet run
Если все прошло успешно, то у нас запустится окно с приветствием и кнопкой. Нажимаем на нее для запуска дизайнера с отчетом.
При нажатии на Preview мы запустим предварительный просмотр.
Таким образом нам удалось запустить FastReport Avalonia на "Альт Рабочая станция" 10 с использованием VSCodium. Подготовительный процесс имеет свои нюансы и их необходимо строго соблюдать, чтобы избежать проблем с правами доступа к файлам. В целом нам удалось запустить FastReport Avalonia без особых сложностей, как например с отображением текста и объектов отчета. После подготовительного процесса и настройки приватного NuGet сервера вы можете быстро создавать несколько приложений для своих проектов. По вопросам обращайтесь в нашу техническую поддержку support@fastreport.ru. Приятного использования!