在使用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. Topological Spaces(拓扑空间)

    拓扑空间的定义有多种形式,通过 open sets(开集)的形式定义是最为常见的拓扑空间定义形式. 1. 通过开集(open sets)定义 拓扑空间由一个有序对 (X,τ) 表示,X 表示非空集合, ...

  2. stm32的电源

    有人说rtc会不工作

  3. UICollectionView使用方法补充(照片轮播墙)

    一 整体功能图和实现思路 1 完整的功能图: 2 实现功思路: 1> 流水布局(实现UICollectionView必需要的条件) 2> 自己定义cell(实现UICollectionVi ...

  4. thinkphp3.2使用join联合查询

    $members=$model->table('zhope_card A') ->join('zhope_user U ON A.adduser=U.id',"LEFT" ...

  5. vue项目build后font-awesome不显示问题

    解决办法: 修改build目录下的utils.js:添加 publicPath: '../../' // Extract CSS when that option is specified // (w ...

  6. 【record】9.24..10.1

    因为参加比赛所以做得比较少了

  7. perl对比两个文件的行

    perl对比两个文件的行 对比两个文件的各行,得到A与B相同的行/A与B不相同的行 主要功能 得到相同行 得到A中包含,B不包含的行 得到B中包含,A中不包含的行 具体执行情况 Perl代码 #!/u ...

  8. [转载]Ocelot简易教程(四)之请求聚合以及服务发现

    上篇文章给大家讲解了Ocelot的一些特性并对路由进行了详细的介绍,今天呢就大家一起来学习下Ocelot的请求聚合以及服务发现功能.希望能对大家有所帮助. 作者:依乐祝 原文地址:https://ww ...

  9. ios开发之坐标系转换

    1:坐标系转换最核心的问题就是:比较两个坐标是否包含,或者是重叠等,最主要的问题是先将两个坐标转换到同一个坐标系下再去比较.第一步先确定矩形框在某个view坐标系下的frame(该矩形框是以该view ...

  10. js进阶 11-9/10/11 jquery创建和插入节点

    js进阶 11-9/10/11 jquery创建和插入节点 一.总结 一句话总结: 1.jquery插入节点8个方法? 内部之前,内部之后,之前,之后:各两个 append()和appendTo() ...