uwp - 解决使用EntityFramework时报错“unable to load dll 'sqlite3':the specified module could not be found”
在使用uwp的ef过程中碰到一万个问题快折腾死我了,好在最后终于解决掉所有问题,但愿如此,因为在这之前先后发生不同的报错,不知道后面还会碰到新的问题不。

其中一个问题是这样的,生成能正常生成,但是启动程序后在运行到:“db.Database.Migrate();” 时引发异常,提示unable to load dll 'sqlite3':the specified module could not be found.(exception from hresult:0x8007007e),奇怪,我已经引用了Microsoft.EntityFrameworkCore.Sqlite了呀,怎么会提示找不到模块,网上搜了一下,添加引用:“SQLite for universal windows platform”,然后运行,到这一步也许可能你已经解决这个问题,如果还没有,而且你碰到这样一个问题,以x64在本地计算机上运行uwp应用,正常,没报错,但是,切到x86放在仿真机上运行又报上面这个错,切到arm也报,那么别急,仔细看下生成输出有没有提示没引用vc++ runtime,如果有,就在引用扩展中添加“Visual C++ 2015 Runtime for Universal Window....”。现在再运行是不是解决了呢?
以下是我的完整引用截图,如果上面的方法没解决就对照一下我的引用把没有引用的引用上,MvvmLight就不需要了,其他的都是必须的:

附加:
同时引用sqlite for.platform和microsoft.en..sqlite两个的话,以ARM真机运行/调试是没问题的,但是以x86仿真机(模拟器)运行、以x64本地计算机模式运行时会报一个错:

负载包含两个或更多具有相同目标路径sqlite3.dll
对于这个问题,我暂时找不到更好的解决办法,所以,建议:如果你不介意用真机/本地计算机做开发调试并舍弃仿真机的话就不用管他,就以arm模式在真机上运行测试就好,如果你想在电脑上运行就暂时把sqlite for u....platform的引用去掉,就可以以x64的模式运行在本地计算上,但是如果开发完成要记得重新引用,不然无法在真机上创建数据库,就会重新报错:“unable to load dll 'sqlite3':the specified module could not be found.(exception from hresult:0x8007007e)”;同时引用两个时你没法在x86模式的仿真机上运行,也会提示“负载包含两个或更多具有相同目标路径sqlite3.dll”,所以,如果使用ef开发,你只能在本地计算机上/真机上测试运行,舍弃仿真机。在uwp上使用EntityFramework似乎很麻烦,也许是我自己的问题,但我的解决方案是这样的,如果我找到更好的办法会第一时间更新博客。
写的好像很乱。。。
uwp - 解决使用EntityFramework时报错“unable to load dll 'sqlite3':the specified module could not be found”的更多相关文章
- System.DllNotFoundException: Unable to load DLL 'libgdiplus': The specified module could not be found.
netcore 使用System.Drawing 出现如下错误: Unhandled Exception: System.TypeInitializationException: The type i ...
- SqlSugar解决SQLite访问的问题:Unable to load DLL 'SQLite.Interop.dll'
SqlSugar用的版本是4.5.9.5,访问SQLite数据提示错误.在本机调试一时没有什么错误,把代码发布到服务器上以后刚开始运行没有问题,一段时间后报错. English Message : C ...
- Unable to load DLL 'opencv_core290'
问题: In my winforms application I need to use some Emgu.CV libraries (I have installed Emgu 2.9). Pro ...
- netserver启动时报错 "Unable to start netserver with 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC'"
netperf启动netserver时报错 "Unable to start netserver with 'IN(6)ADDR_ANY' port '12865' and family A ...
- tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案
转:tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案 检查tomcat与web工程对应版本,tomcat中对应版本的jar包拷贝到web工程 ...
- [ASP.NET 5]终于解决:Unable to load DLL 'api-ms-win-core-localization-obsolete-l1-2-0.dll'
11月12日,惊喜地发现SqlClient(System.Data.SqlClient.dll)跨平台了(对应的nuget包包是runtime.unix.System.Data.SqlClient), ...
- Centos 7 Asp.net core 使用QRCoder 报“Unable to load DLL 'gdiplus'"
环境: Centos7 .Net core 2.0 问题: 使用QRCoder 报“Unable to load DLL 'gdiplus'" 同 https://q.cnblogs.com ...
- Unable to load DLL 'api-ms-win-core-localization-l1-2-0.dll': 找不到指定的模块
asp.net mvc 4.6 发布到WinServer2008R2 SP1 提示 错误 Unable to load DLL 'api-ms-win-core-localization-l1-2-0 ...
- Unhandled Exception:System.DllNotFoundException: Unable to load DLL"**":找不到指定的模块
在项目中使用C#代码调用C++ DLL时.常常会出现这个问题:在开发者自己的电脑上运行没有问题,但是部署到客户电脑上时会出现下面问题: Unhandled Exception:System.DllNo ...
随机推荐
- Linux中U盘和SD卡加载卸载命令
U盘挂载命令U盘插入的时候会显示启动信息,启动信息中sda: sda1指U盘的设备名为sda1dev设备目录下有一个sda1设备文件,此设备文件就是我们插入的U盘,我们将这个设备文件挂载到Linux系 ...
- 35、在编译Linux内核中增加程序需要完成以下3项工作
在编译Linux内核中增加程序需要完成以下3项工作: 将编写的源代码拷入Linux内核源代码的相应目录. 在目录的Kconfig文件中增加关于新源代码对应项目的编译配置选项 在目录的Makefile文 ...
- Cocos2d-x使用Javascript开发js绑定C++<代码演示样例>
class IOSiAPDelegate{ public: virtual ~IOSiAPDelegate() {} }; class IOSAlipay{ public: IOSAlipay(); ...
- php实现矩形覆盖
php实现矩形覆盖 一.总结 很简单的斐波那契数列 二.php实现矩形覆盖 题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总 ...
- CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
原文地址:https://blog.csdn.net/z13615480737/article/details/78906598 CentOS7默认数据库是mariadb, 但是 好多用的都是m ...
- Facebook Hacker Cup 2015 Round 1--Winning at Sports(动态规划)
原题:pid=688426044611322&round=344496159068801">https://www.facebook.com/hackercup/problem ...
- 基于 Android NDK 的学习之旅-----环境搭建
工欲善其事 必先利其器 , 下面介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建. 1.Android 开发环境搭建 Android开发环境搭建不是重点,相信看此文章的 ...
- js进阶 11-2 jquery属性如何操作
js进阶 11-2 jquery属性如何操作 一.总结 一句话总结:jquery中的属性用attr方法表示.jquery中都是方法. 1.jquery中的属性的增删改查操作? 只需要两个方法, at ...
- HelloWorld RabbitMQ
RabbitMQ入门-从HelloWorld开始 从读者的反馈谈RabbitMQ 昨天发完<RabbitMQ入门-初识RabbitMQ>,我陆陆续续收到一些反馈.鉴于部分读者希望结合实例来 ...
- Android EditText文本内容变化监听方法
package com.google; import android.app.Activity; import android.os.Bundle; import android.text.Edita ...