NuGet-пакет в C#
Внешняя библиотека не лежит в репозитории исходников: MSBuild подтягивает её из источника NuGet по имени и версии, когда пакеты восстанавливают. Файл project.assets.json записывает, какие пакеты нужны проекту, включая те, что пришли вместе с выбранным.
Провайдер Microsoft.Data.Sqlite не входит в платформу, которая ставится вместе со средой .NET. Его нужно явно указать с версией, совместимой с net10.0. После восстановления пакетов типы провайдера доступны как обычные ссылки на сборку.
Запишем зависимость:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>14</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Data.Sqlite" Version="10.0.14" />
</ItemGroup>
</Project>
Откроем базу в памяти через тип из установленного пакета:
using Microsoft.Data.Sqlite;
using SqliteConnection db = new("Data Source=:memory:");
db.Open();
Console.WriteLine(db.State.ToString());
Соединение с базой в памяти открыто после Open(). Без PackageReference и восстановления тип SqliteConnection недоступен.
Подключите пакет Dapper стабильной версии к консольному проекту на net10.0. После восстановления выведите 1, если в project.assets.json есть запись о Dapper.