Я создал новый ASP.NET Core Web Application
и использовал ASP.NET Core 2.1
кроссплатформенный фреймворк.
Затем я добавил System.Data.SQLite.Core
, используя Nuget manager
. Это официальный движок базы данных SQLite для x86 и x64 вместе с поставщиком ADO.NET.
Мой основной метод
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
SQLiteConnection con = new SQLiteConnection("abc");
}
Когда я запускаю приложение, оно пытается найти 1.0.109.0 вместо установленной 1.0.109.1
версии.
Так что в конечном итоге бросаем ниже исключения, как ожидалось
System.IO.FileNotFoundException
HResult = 0x80070002
Сообщение = Не удалось загрузить файл или сборку 'System.Data.SQLite, версия = 1.0.109.0, культура = нейтральная, PublicKeyToken = db937bc2d44ff139'. Система не может найти указанный файл.
Источник =
Итак, почему он ищет неправильную версию?
Скриншоты для справки
Платформа My Solution «Любой ЦП», и я работаю на 64-разрядной Windows 7 на 64-разрядной
Странная
Когда я делаю F12 в SQLiteConnection
классе, он переходит к
Содержимое моего файла .csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.109.1" />
</ItemGroup>