在 Windows IoT 上将 Sqlite 与 asp.net 核心应用程序结合使用

Using Sqlite with asp.net core app on Windows IoT

我有一个 Asp.netCore 应用程序。

我将其输出设置为 exe。

然后我像这样编译它:

dotnet publish -r win-arm

然后我在 Raspberry Pi 运行 Windows 10 IoT 上打开网络共享。

我将桌面上已发布文件夹中的所有内容复制到 raspberry pi 上的文件夹中。

然后我使用 powershell 启动这个 exe。

然后我从我的桌面浏览到 Raspberry Pis IP 地址。

我的页面加载正常。

如果我现在导航到一个我知道将从我的 sqlite 数据库获取记录的页面,我会收到此错误:

阅读错误告诉我(我认为)我使用了错误的 dll。

目前我正在使用我在之前的 uwp 应用程序中使用的 Sqlite Dll,我也将其部署到 raspberry pi 框(并且有效)。

我用 Google 搜索了一下,它告诉我使用 uwp dll。我能想到的是因为我使用 arm switch 编译它我需要在 Pi box 上使用它时使用 sqlite dll。

我说得对吗?如果是的话,我在哪里可以获得 arm sqlite dll?

如果我错了怎么办?

我也在用.netcore 2.1

这些是我正在使用的库:

谢谢

更新。

根据丽塔的回答,我得到了一个不同的错误:

此问题是由于 e_sqlite3.dll 在 asp.net 核心应用程序发布文件夹中丢失。您可以在 Github 上找到类似的问题,例如 this

我在 Raspberry Pi 上使用 Windows IoT Core 测试了一个解决方法,它对我有用。

在 Raspberry Pi 上的 \Windows\system32 中找到 winsqlite3.dll 并将此文件复制到您的应用程序发布文件夹并将此文件重命名为 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>