Sqlite UWP移动应用程序开发中的sqllite3.dll问题

Sqlite UWP移动应用程序开发中的sqllite3.dll问题,sqlite,uwp,windows-10-universal,Sqlite,Uwp,Windows 10 Universal,我正在尝试学习如何为UWP开发桌面和移动应用程序。我目前正在努力使实体框架在我的应用程序中工作,以存储应用程序状态,并遵循以下链接: 它在桌面上运行得很好,但问题是,当我尝试在Windows Mobile emulator上运行它时,当代码到达db.Database.Migrate()步骤时,在调试模式下会出现以下错误: 在我上面粘贴的链接中,其他人也有同样的问题,他们建议在评论中尝试以下内容: Step 1: Install SQLite VSIX pacakge for Universal

我正在尝试学习如何为UWP开发桌面和移动应用程序。我目前正在努力使实体框架在我的应用程序中工作,以存储应用程序状态,并遵循以下链接:

它在桌面上运行得很好,但问题是,当我尝试在Windows Mobile emulator上运行它时,当代码到达db.Database.Migrate()步骤时,在调试模式下会出现以下错误:

在我上面粘贴的链接中,其他人也有同样的问题,他们建议在评论中尝试以下内容:

Step 1: Install SQLite VSIX pacakge for Universal Windows Platform development using Visual Studio 2015
https://www.sqlite.org/2016/sqlite-uwp-3130000.vsix

Step 2: Install NuGet package SQLite.NET-PCL
Install-Package SQLite.NET-PCL

Step 3: Add references
Add Reference -> Universal Windows ->Extensions -> Make sure the following packages have been checked: "SQLite for Universal Windows Platform" "Visual C++ 2015 Runtime for Universal Windows Platform Apps"
After that, if you get the error "Payload contains two or more files with the same destination path 'sqlite3.dll', do the following:
copy sqlite3.dll from 
C:\Program Files (x86)\Microsoft SDKs\UAP\v0.8.0.0\ExtensionSDKs\SQLite.UAP.2015\3.8.11.1\Redist\Debug\ARM\sqlite3.dll
past to (override it)
C:\Users\%USERNAME%\.nuget\packages\SQLitePCL.raw_basic\0.7.1\build\native\sqlite3_dynamic\winrt81\arm\sqlite3.dll
Payload contains two or more files with the same destination path 'sqlite3.dll'. Source files: 
C:\Users\admin\.nuget\packages\SQLite\3.13.0\runtimes\win7-x86\native\sqlite3.dll
C:\Program Files (x86)\Microsoft SDKs\UAP\v0.8.0.0\ExtensionSDKs\SQLite.UWP.2015\3.13.0\Redist\Debug\x86\sqlite3.dll
完成这些步骤后的问题是,我现在看到了为“负载包含两个或多个文件”构建时出现的问题,但是不在SQLitePCL.raw_基本目录中(我甚至没有这样的目录)。相反,我的错误如下:

Step 1: Install SQLite VSIX pacakge for Universal Windows Platform development using Visual Studio 2015
https://www.sqlite.org/2016/sqlite-uwp-3130000.vsix

Step 2: Install NuGet package SQLite.NET-PCL
Install-Package SQLite.NET-PCL

Step 3: Add references
Add Reference -> Universal Windows ->Extensions -> Make sure the following packages have been checked: "SQLite for Universal Windows Platform" "Visual C++ 2015 Runtime for Universal Windows Platform Apps"
After that, if you get the error "Payload contains two or more files with the same destination path 'sqlite3.dll', do the following:
copy sqlite3.dll from 
C:\Program Files (x86)\Microsoft SDKs\UAP\v0.8.0.0\ExtensionSDKs\SQLite.UAP.2015\3.8.11.1\Redist\Debug\ARM\sqlite3.dll
past to (override it)
C:\Users\%USERNAME%\.nuget\packages\SQLitePCL.raw_basic\0.7.1\build\native\sqlite3_dynamic\winrt81\arm\sqlite3.dll
Payload contains two or more files with the same destination path 'sqlite3.dll'. Source files: 
C:\Users\admin\.nuget\packages\SQLite\3.13.0\runtimes\win7-x86\native\sqlite3.dll
C:\Program Files (x86)\Microsoft SDKs\UAP\v0.8.0.0\ExtensionSDKs\SQLite.UWP.2015\3.13.0\Redist\Debug\x86\sqlite3.dll

我一直在到处搜索,对于如何让我的UWP程序在移动设备上工作,我真的很困惑。非常感谢你的帮助

您似乎从@Leandro_Medeiros_Machado的评论中找到了解决异常的解决方案
无法找到指定模块。如果在完成上述三个步骤后,负载包含两个或多个具有相同目标路径“sqlite3.dll”的文件,则可能会出现异常。

之后,如果出现错误“负载包含两个或多个具有相同目标路径'sqlite3.dll'的文件”,请执行以下操作:从
C:\ProgramFiles(x86)\Microsoft SDK\UAP\v0.8.0.0\ExtensionSDKs\SQLite.UAP.2015\3.8.11.1\Redist\Debug\ARM\sqlite3.dll
过去到(覆盖它)
C:\Users\%USERNAME%\.nuget\packages\SQLitePCL.raw\u basic\0.7.1\build\native\sqlite3\u dynamic\winrt81\arm\sqlite3.dll

对于您,您可能需要从
C:\Program Files(x86)\Microsoft SDKs\UAP\v0.8.0.0\ExtensionSDKs\SQLite.UWP.2015\3.13.0\Redist\Debug\x86\sqlite3.dll
to(override)
C:\Users\admin\.nuget\packages\SQLite\3.13.0\runtimes\win7-x86\native\sqlite3.dll

但实际上,要使用EF core,您不需要上述步骤,我建议您检查您的环境,而不要使用上述解决方法。我按照文档创建了一个简单的EF项目,无需安装VSIX,我就可以在emulator(build 10586)上成功运行。我的VS版本是2015更新3,我的操作系统版本是build 14393,EF core版本是。因此,请首先检查您的环境是否满足以下要求:

  • 视窗10

  • Visual Studio 2015更新3

  • 最新版本的


如果您的EF-core和EF-core工具版本正确。

非常感谢您的回复。由于我最近刚刚安装了Microsoft网站上的所有内容,所以我的所有内容都是最新的。我有Windows 10 build 14393、Visual Studio 2015 Update 3和Microsoft.EntityFrameworkCore.Sqlite 1.1.0。我试图在是的,但信息仍然存在。我的EF核心工具版本是1.1.0-preview4-final。我还应该提到,我正在移动仿真器构建14393上运行它,如果这有区别的话。还有其他想法吗?将它复制到提到的目录似乎已经成功了,这在我提出这个问题之前是不起作用的。讽刺的是ly。也许我只需要重新启动我的机器。但是我的所有东西都是最新的,如果不添加VSIX并遵循这些步骤,我就无法让它工作。我在14393移动仿真器上进行了尝试。你知道为什么吗?所有其他版本都和你的一样。@sikhness,我也在仿真器构建14393上进行了测试,它可以工作好的。请同时检查.NetCore版本是否为5.2.2。而且您的问题似乎更像是模拟器问题,可能需要重新下载模拟器才能解决。现在您可以通过解决方法解决任何问题。如果我的答复有帮助,您可以标记为已接受吗?