今天想使用CodeSimth生成一个sqlite数据库的模板。当添加添加数据库的时候发现:
.Net Framework Data Provider 可能没有安装。
下面找到官方的文档说明:
If you are trying to use the SQLite Schema Provider you may encounter the error message:'The System.Data.SQLite library is not installed on this computer'.This error can occur for two reasons:
CodeSmith Generator is compiled as AnyCPU. This means that Generator will run as a 64bit process when you launch Generator outside of Visual Studio. If you are generating from within Visual Studio (32bit process), then CodeSmith Generator libraries will run as a 32bit process.
The first step is to ensure that you download and install the latest .NET Framework 4.0 version of System.Data.SQLite.
IconIf you are running a 64bit version of windows, please install both the 32bit and 64bit versions.IconYou can skip the following configuration steps if you install the legacy version ofSystem.Data.SQLite here.The older version configures itself by adding entries into your machine.config.TheSQLite Schema Provider doesn't require a specific version of the SQLite managed libraries. This is because it usesDbProviderFactorieswhen interacting with SQLite. One must update all.NET Framework 4.0 machine.config's and add the SQLite provider to the DbProviderFactorieselement:
< 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 > |
The .NET Framework 4.0 machine.config's can be found here:
看不懂的话,按照下面的方法做:
1、下载System.Data.SQLite驱动;注意:根据自己的CPU选择是32位还是64位的驱动。建议选择4.0平台以上的。我的是:sqlite-netFx40-setup-bundle-x64-2010-1.0.91.0.exe;
2、安装完成后打开C:/Program Files/System.Data.SQLite/2010/GAC把里面的两个dll复制到CodeSimth安装目录下的bin文件夹;
3、配置
根据自己的CPU平台打开下面路径,【可能需要修改一下文件写入的安全性,设置为Everyone就可以了,否则保存不了】
<
system.data
>节点添加下面的内容。
< 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 > |
4、重启CodeSimth就可以了。
新闻热点
疑难解答