C#无法找到或加载已注册的.Net Data Provider错误

Nat*_*han 2 c# system.data.sqlite

我正在使用SQLite和http://sqlite.phxsoftware.com/的包装器,当我向项目添加数据源时,我收到错误:

"无法自动生成某些更新命令,数据库返回到以下错误:无法找到或加载已注册的.Net Framework数据提供程序"

我有最新的.Net服务包,我已经卸载并重新安装了SQLite软件.我还查看了其他地方,建议此条目不在machine.config文件中:

  <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.27.1, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
Run Code Online (Sandbox Code Playgroud)

当我看到我甚至没有在C:\ WINDOWS\Microsoft.NET\Framework\v3.5文件夹中找到machine.config文件,但我确实在C:\ WINDOWS\Microsoft.NET\Framework\v2中找到了一个.0.50727

有谁知道发生了什么事?我是否需要卸载整个.Net Framework,然后只是安装3.5版本才能让这个错误消失?

任何帮助,将不胜感激.

谢谢.

Sam*_*eff 6

您可以在应用程序中添加对System.Data.SQLite的直接引用并实例化SQLiteFactory吗?

我们在我们的应用程序的bin控制器(而不是GAC)中直接使用SQLite和dll,并在我们的Web/App.config中使用这一行,因此我们不依赖于Machine.config(简化部署).

<system.data>
    <DbProviderFactories>
        <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
</system.data>
Run Code Online (Sandbox Code Playgroud)