记一次程序在Windows家庭版上运行.NET Framework DbProvider无法加载解决过程
2017-09-13 19:20
483 查看
一、概述
软件开发完毕并且通过了测试部测试已经发布上线,可是偶尔一次把软件放到了虚拟机里启动时出错了导致软件无法启动。错误信息:System.Configuration.ConfigurationErrorsException: 找不到或无法加载已注册的 .Net Framework Data Provider。这个错误导致创建连接sqlite数据的实例失败,无法读取数据无法初始化软件。看到这个错误第一反应是支持sqlite的dll程序集缺失了,但是到软件目录下检查发现System.Data.SQLite.dll文件存在。在这种情况下检查了配置文件里关于DbProvider的配置节点是否配置正确,结果是配置无误。此时,确定软件本身应该没有什么问题,毕竟通过测试了;那么如果是系统的问题是不是缺少.NET Framework组件?好,立马下载4.0版组件进行安装。安装完成后错误依旧。
到此,我也是无头的苍蝇不知道往哪个方向飞了,那就直接把错误复制粘贴百度吧。网上还是有不少这种情况的,不过基本上都是asp.net项目运行时报错了,通过修改web.config配置等方法可以解决,关于桌面程序的没有啊(想哭脸)。
就在我无路可走的时候,测试部的同事说软件在win10家庭版上报错了,无法启动。看到报错的日志,也是同样的错误。在win7的32位、64位家庭普通版,win10家庭版都会报这个错误。
二、解决方案
百般无奈之下,干脆把虚拟机装上VS进行调试吧。VS被我装到了虚拟机里,当我再次运行软件的时候正常启动了,错误消失了。此时,脑子里立马出现了问号,为什么会消失 了跟安装VS有关系吗?好,为了验证想法,把VS卸载掉试一试会不会报错。卸载VS后启动软件,运行正常。通过控制面板看到有很多VS的组件并未卸载掉。于是,逐个卸载组件并在每卸载一个组件就运行一次软件看看是否正常。卸载掉VC++运行库时,运行软件再次报错了;安装上VC++运行库,软件运行正常。问题已经明了,Windows的家庭版没有自带VC++运行库导致了这个错误。对此问题作出说明加上VC++运行库发版,问题解决。VC++运行库采取的是VC++2010版兼容XP。
下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=5555
相关文章推荐
- mysql 找不到或无法加载已注册的 .Net Framework Data Provider和Unable to find the requested .Net Framework Data Provider. It may not be installed解决
- 解决WINDOWS无法打开“添加打印机”,本地后台打印程序服务没有运行
- 无法加载文件 C:/Windows/Microsoft.NET/Framework/Meaningless_string/mscorlib.tlb
- [原创]WINDOWS无法为XXX加载安装程序--解决方法
- 快速解决:windows安装程序无法将windows配置为在此计算机的硬件上运行
- VS2010编译的程序无法在Windows 2000下运行 解决办法
- 解决:装了Windows SharePoint Service(WSS) 以前的ASP.NET无法运行了
- 解决windows安装程序无法将windows配置为在此计算机的硬件上运行
- 解决:windows安装程序无法将windows配置为在此计算机的硬件上运行
- 【windows】查询占用端口的程序——记一次解决webloigc启动失败的过程
- 解决:windows安装程序无法将windows配置为在此计算机的硬件上运行
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
- 64位 Windows 操作系统.NET程序无法连接Oracle的解决之道
- mysql 找不到或无法加载已注册的 .Net Framework Data Provider
- error 25015安装程序集“C:\Windows\Microsoft .NET\Framework\v2.0.50727\xxx.dll”失败,原因是出现了系统错误:另一个程序正在使用此文件,进程无法访问
- SQLSERVER 占了500多M内存,原来的程序无法一次查询出50多W数据了,记录下这个问题的解决过程。
- Windows Serever 2008无法安装.NET Framework 3.5的解决办法
- 解决调试asp.net程序时无法修改代码的问题(提示: 当调试器已经附加到已经运行的进程...)
- 调试AutoCAD .Net程序加载时出现System.Windows.Markup.XamlParseException的解决办法
- SQL2008无法连接到.\SQLEXPRESS,用户'sa'登录失败(错误18456)图文解决方法 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, er