PascalABC.NET Официальный канал
NuGet в PascalABC.NET. Часть 1: SQLite без сервера
В PascalABC.NET с компилятором .NET 10 теперь можно подключать библиотеки из NuGet прямо в тексте программы — без ручного скачивания DLL и настройки ссылок на библиотеки.
Начнём с SQLite — полноценной базы данных, которой не нужен отдельный сервер.
{$package Microsoft.Data.Sqlite 10.0.13}
uses Microsoft.Data.Sqlite;
begin
var connection := new SqliteConnection('Data Source=:memory:');
connection.Open;
var command := connection.CreateCommand;
command.CommandText := 'select 40 + 2';
Println(command.ExecuteScalar);
command.Dispose;
connection.Dispose;
end.
Программа выведет 42. Причём вычисление выполнит не PascalABC.NET, а настоящий движок SQLite! В этом примере база данных существует только в оперативной памяти.
Как это работает?
Директива {$package Microsoft.Data.Sqlite 10.0.13} указывает имя и версию NuGet-пакета. При первой компиляции PascalABC.NET автоматически загрузит пакет вместе с необходимыми зависимостями. Всё сохраняется в общем кеше NuGet, поэтому повторно скачивать те же библиотеки не потребуется.
Где это работает?
В оболочке PascalABC.NET с компилятором .NET 10 и в расширении PascalABC.NET для VS Code при использовании того же компилятора. В режиме .NET Framework директива {$package} не поддерживается.
Это первая публикация серии о NuGet. Дальше покажем, как находить интересные пакеты и использовать их в PascalABC.NET — от работы с датами до численных расчётов и машинного обучения. Если у вас установлено приложение,
вы можете сразу перейти в канал