今天想使用CodeSimth生成一个sqlite数据库的模板。当添加添加数据库的时候发现:
.Net Framework Data Provider 可能没有安装。
下面找到官方的文档说明:
SQLite Schema 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:
- The System.Data.SQLite hasn't been installed on your machine.
- The System.Data.SQLite hasn't been properly configured.
Installing System.Data.SQLite
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.
This is very important to understand as it determines which Schema Provider dependencies are resolved at run-time.
The first step is to ensure that you download and install the latest .NET Framework 4.0 version of System.Data.SQLite.
Configuring System.Data.SQLite
The SQLite Schema Provider doesn't require a specific version of the SQLite managed libraries. This is because it uses DbProviderFactories when interacting with SQLite. One must update all .NET Framework 4.0 machine.config's and add the SQLite provider to the DbProviderFactories element:
< 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:
- %windir%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
- %windir%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
看不懂的话,按照下面的方法做:
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就可以了,否则保存不了】
- %windir%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
- %windir%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config (我选择的是这个)
- 找到
<
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就可以了。