Не удалось загрузить файл или сборку 'System.Data.SQLite, версия = 1.0.109.0 - почему он ищет версию 1.0.109.0, когда я ссылаюсь на 1.0.109.1 - PullRequest
0 голосов
/ 29 августа 2018

Я создал новый 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'. Система не может найти указанный файл. Источник =

Итак, почему он ищет неправильную версию?

Скриншоты для справки

enter image description here

enter image description here

Платформа My Solution «Любой ЦП», и я работаю на 64-разрядной Windows 7 на 64-разрядной

Странная

Когда я делаю F12 в SQLiteConnection классе, он переходит к

enter image description here

Содержимое моего файла .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>

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

У меня была такая же проблема в Asp.Net Core 2.0, и единственное, что помогло, - это использование 1.0.108.

0 голосов
/ 30 августа 2018

У меня была точно такая же проблема. В итоге у меня получилось:

  1. В проводнике Windows перейдите к %UserProfile%\.nuget\packages
  2. Удалить каталоги для system.data.sqlite.core и system.data.sqlite.core
  3. В вашем .csproj измените ссылку на пакет sqlite на

    `<PackageReference Include="System.Data.SQLite.Core" Version="1.0.109.0"/>`
    
  4. Перестройте проект для восстановления пакета
0 голосов
/ 29 августа 2018

Я думаю, 1.0.109.0 устарел и больше не доступен на nuget Вы можете перейти на

.csproj

Внутри ItemGroup

проверьте номер версии system.Data.SQlite.Core . Если он использует 1.0.109.0 , замените его на 1.0.109.1

У меня есть проект, в котором вы можете видеть, что версии одинаковы как в .csproj, так и в ссылках. enter image description here

Если вы не используете Visual Studio Code , вы можете найти файл .csproj, щелкнув правой кнопкой мыши по проекту и выбрав Открыть папку в проводнике

Поскольку у вас есть версия 1.0.109.1 из System.Data.SQLite.Core не System.Data.SQLite

Install-Package System.Data.SQLite -Version 1.0.109.1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...