SQLite to Asp.net Entity Framework 部署问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQLite to Asp.net Entity Framework 部署问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1808字,纯文字阅读大概需要3分钟。
内容图文
最近做了一个小应用,使用SQLite做数据库。开始用DBLINQ的时候,做一个LINQ查询出现不支持的问题。后来看到Entity
Framework是可以支持SQLite的,于是很快转换过来。完成开发,在开发机器上测试正常。部署到正式环境中,开始出现“指定的存储区提供程序在配置中找不到,或者无效。”---->
"找不请求的.Net
Framework数据提供程序。可能没有安装”。
这个问题出现的很奇怪,因为生产机器上也运行了SQlite.net
的安装包。
运行了一个测试程序,输出
DbProviderFactories.GetFactoryClasses()的DataTable,发现生产环境的Data
Provider的确没有SQLite这一项。
在网上查了一圈,发现有人提示:
1. Add the following to the Web.config file :
<system.data>
<DbProviderFactories>
<remove
invariant="System.Data.SQLite"/>
<add
name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net
Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory,
System.Data.SQLite, Version=1.0.57.0, Culture=neutral,
PublicKeyToken=db937bc2d44ff139" />
</DbProviderFactories>
</system.data>
2. Copy System.Data.SQLite.DLL AND System.Data.SQLite.Linq.dll files to the Bin directory
根据1 的提示,我把 <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.57.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />这段配置,也加到生产环境的Machine.config里面,再运行测试程序,SQLite项出现在DbProviderFactories.GetFactoryClasses()的DataTable了,说明配置没有问题了。
但是运行程序,还是报错:“对类型"System.Data.SQLite.SQLiteFactory"的存储区提供程序调用"GetService"方法后,返回null。存储区提供程序可能未正常运行”。
花了一段时间研究“存储区”,无功而返。
突然发现生产环境的GAC没有System.Data.SQLite,问题是不是在这里呢?
在生产环境下v1.1.xxx下的GacUtil.exe运行之后,报错unknown。又在网上查了一下,据说是GacUtil和Framework的版本有关系。在开发机器上C:/Program Files/Microsoft SDKs/Windows/v6.0A/Bin找到一个GacUtil.exe,一看,的确这个是3.5的版本。拷贝到生产环境,注册System.Data.SQLite.DLL和System.Data.SQLite.Linq.DLL,运行程序:一切正常!大功告成!
来源于:http://blog.csdn.net/liufan76/article/details/3173282
原文:http://www.cnblogs.com/lynn-/p/3530763.html
内容总结
以上是互联网集市为您收集整理的SQLite to Asp.net Entity Framework 部署问题全部内容,希望文章能够帮你解决SQLite to Asp.net Entity Framework 部署问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。