在使用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”的更多相关文章

  1. System.DllNotFoundException: Unable to load DLL 'libgdiplus': The specified module could not be found.

    netcore 使用System.Drawing 出现如下错误: Unhandled Exception: System.TypeInitializationException: The type i ...

  2. SqlSugar解决SQLite访问的问题:Unable to load DLL 'SQLite.Interop.dll'

    SqlSugar用的版本是4.5.9.5,访问SQLite数据提示错误.在本机调试一时没有什么错误,把代码发布到服务器上以后刚开始运行没有问题,一段时间后报错. English Message : C ...

  3. 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 ...

  4. 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 ...

  5. tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案

    转:tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案 检查tomcat与web工程对应版本,tomcat中对应版本的jar包拷贝到web工程 ...

  6. [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), ...

  7. 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 ...

  8. 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 ...

  9. Unhandled Exception:System.DllNotFoundException: Unable to load DLL"**":找不到指定的模块

    在项目中使用C#代码调用C++ DLL时.常常会出现这个问题:在开发者自己的电脑上运行没有问题,但是部署到客户电脑上时会出现下面问题: Unhandled Exception:System.DllNo ...

随机推荐

  1. python3 序列

    python中有很多内置序列 列表 元组 字符串 python中容器的概念 列表 元组 字符串 字典 集合 是可以改变的,元组不可改变 几乎可以在所有情况下用列表代替元组,只有一种情况下,是不可以的, ...

  2. MFC切换图片防止闪烁

    处理WM_ERASEBKGND消息,在消息处理函数中return TRUE;

  3. Swift3.0 功能一(持续更新)

    修改项目名称两种方式 1.Bundle name 2.Bundle display name try 三种处理异常的方式 // 在swift中提供三种处理异常的方式 // 方式一:try方式 程序员手 ...

  4. Android自定义组件系列【9】——Canvas绘制折线图

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...

  5. php实现不用加减乘除号做加法(1、善于寻找资源:去搜为什么位运算可以实现加法,里面讲的肯定要详细一万倍)

    php实现不用加减乘除号做加法(1.善于寻找资源:去搜为什么位运算可以实现加法,里面讲的肯定要详细一万倍) 一.总结 1.善于寻找资源:去搜为什么位运算可以实现加法,里面讲的肯定要详细一万倍 二.ph ...

  6. 常用有效检测数据库运行状态SQL脚本

    1.查看数据库中不为 InnoDB 引擎的表   SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE   FROM information_schema.TABLES  W ...

  7. Call to a member function assign() on a non-object;thinkphp中报错

    这个在自己写的类中 需要function __construct(){parent::__construct();}继承父类构造函数 当发生这个错误的时候,需要在构造函数中集成父类构造

  8. [RxJS] Split an RxJS observable conditionally with windowToggle

    There are variants of the window operator that allow you to split RxJS observables in different ways ...

  9. Java高级个人笔记(RandomStringUtils工具类)

    //产生5位长度的随机字符串,中文环境下是乱码 RandomStringUtils.random(5); //使用指定的字符生成5位长度的随机字符串 RandomStringUtils.random( ...

  10. 解决ThinkPad x1 发热的问题

    F1进入BIOS界面 将intel speedstep设置为禁用 将CPU Power Manager设置为禁用 重启电脑 电脑不再发热