Использование Sqlite с основным приложением asp.net в Windows IoT - PullRequest
0 голосов
/ 02 октября 2018

У меня есть приложение Asp.netCore.

Я установил его вывод в exe.

Затем я скомпилировал его так:

dotnet publish -r win-arm

Затем я открываю сетевой ресурс на моем Raspberry Pi под управлением IoT Windows 10.

Я копирую все содержимое в моей опубликованной папке на рабочем столе в папку на моем Raspberry Pi.

Затем я использую PowerShell для запуска этого exe-файла.

Затем я перехожу по IP-адресу Raspberry Pis со своего рабочего стола.

Мои страницы загружаются нормально.

ЕслиТеперь я перехожу на страницу, которая, как я знаю, будет получать записи из моей базы данных sqlite. Я получаю эту ошибку:

enter image description here

Чтение ошибки говорит мне (я думаю,) Я использую неправильную dll.

В настоящее время я использую Dlls для Sqlite, который я использовал в предыдущем приложении uwp, которое я также развернул в окне raspberry pi (и это сработало).

У меня есть Google, и он сказал мне использовать библиотеку UWP.Все, что я могу думать об этом, потому что я скомпилировал его, используя переключатель руки, мне нужно использовать dll sqlite при использовании этого на коробке Pi.

Прав ли я, и если да, то где я могу получить руку dll sqlite?

если я ошибаюсь, что мне делать?

Также я использую .netcore 2.1

Это библиотеки, которые я использую:

enter image description here

спасибо

ОБНОВЛЕНИЕ.

После ответа Риты я получил другую ошибку:

enter image description here

1 Ответ

0 голосов
/ 04 октября 2018

Эта проблема из-за того, что e_sqlite3.dll отсутствует в папке публикации основного приложения asp.net.Вы можете найти похожие проблемы на Github, такие как this .

Существует обходной путь, который я тестирую на Raspberry Pi с Windows IoT Core, и он работает для меня.

Найти winsqlite3.dll в \ Windows \ system32 на Raspberry Pi и скопируйте этот файл в папку публикации приложения и переименуйте этот файл в e_sqlite3.dll .Тогда он будет работать.

Только Необходимо установить пакет Microsoft.Data.Sqlite nuget.

Содержимое файла .csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.Data.Sqlite" Version="2.1.0" />
  </ItemGroup>

</Project>
...